Нужны простые примеры для использования hasone и hasmany

Я смотрел фильмы и читал документы, но не понимаю, как использовать hasone и hasmany в гибком инструментарии! Кто-нибудь может дать мне несколько простых примеров для них?

Благодарю.

2 ответа

Решение

Две модели с отношением hasOne:

class Model_User extends Model_Table {
    public $table = 'user';
    function init() {
        parent::init();
        $this->addField('name'); 
        $this->addField('email');
        $this->hasOne('role');    // field role_id in database
    }
}    
class Model_Role extends Model_Table {
    public $table = 'role';
    function init() {
        parent::init();
        $this->addField('name'); 
    }
}

Использование этих двух моделей:

$cr = $this->add('CRUD');
$cr->setModel('Model_User',
    array('name','email','role_id'),
    array('name','email','role')
);

В Grid вы увидите имя поля из таблицы ролей.
В форме вы увидите выпадающий список всех ролей. Вы можете выбрать одну роль для каждого пользователя.

Прочитайте низкоуровневую документацию Agile Toolkit здесь:

http://agiletoolkit.org/book.pdf

должен помочь вам полностью понять модели.

Другие вопросы по тегам