Нужны простые примеры для использования 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
должен помочь вам полностью понять модели.