Basic orm - adampatterson/Dingo-Framework GitHub Wiki

The Dingo database library provides the structure to easily implement very basic object-relational mapping in your applications. The first step to implementing ORM into your queries is simply adding a second argument to the db() function of your queries.

$data = db('table','contacts')->all();

This second argument tells Dingo to load the orm class located at application/orm/contacts.php and make each result returned by the query an instance of the contacts_orm class.

An ORM class for a contacts table containing the columns id, first_name, and last_name might look like this:

class contacts_orm
{
    public $id;
    public $first_name;
    public $last_name;

public function full_name()
    {
        return $this->first_name.' '.$this->last_name;
    }
}

You could then use the custom method you placed in your ORM class:

foreach($data as $contact)
{
    echo $contact->full_name();
}

In this way, Dingo allows you to create your own ORM system for your application. The ORM Library may also be used to add additional functionality to ORM classes.

_Note: If the PHP _construct() Magic Method is present in your ORM class, it will be loaded after any data is added to the instance by a database query. This allows you to use that data in the constructor.