A flexible ORM for Kohana 3.1+
Critical to know:
- use the
3.x/masterbranches for production as the
3.x/developbranches are subject to frequent and major changes
- userguide is being updated
Jelly requires the following Kohana versions per Git branch:
3.1/masterbranches: Kohana 3.1.3+
3.2/masterbranches: Kohana 3.2+
Get involved in Jelly's developement
As Jelly has always been a community project it's development and future depends on people who are willing to put some time into it. The easiest way to contribute is to fork the project.
- you can directly edit files on GitHub (look for the
Edit this filebutton), there's no need to get familiar with Git if you don't want to
- please follow the Kohana conventions for coding
- read the introduction to the unit tests in the guide and run them if you make changes to Jelly to minimalize the chances of introducing new bugs
- and thanks for helping Jelly become better!
Standard support for all of the common relationships — This includes
many_to_many. Pretty much standard these days.
Top-to-bottom table column aliasing – All references to database columns and tables are made via their aliased names and converted transparently, on the fly.
Active testing on MySQL and SQLite — All of the Jelly unit tests work 100% correctly on both MySQL, SQLite and PostgresSQL databases.
A built-in query builder — This features is a near direct port from Kohana's native ORM. I find its usage much simpler than Sprig's.
Extensible field architecture — All fields in a model are represented by a
Field_*class, which can be easily overridden and created for custom needs. Additionally, fields can implement behaviors that let the model know it has special ways of doing things.
No circular references — Fields are well-designed to prevent the infinite loop problem that sometimes plagues Sprig. It's even possible to have same-table child/parent references out of the box without intermediate models.