使用Kohana 3的ORM模型時,從相關模型的字段中獲取數據的最佳方法是什麼?例如,我有一個員工,他有一個公司,並且有很多任務。我將如何從公司模型和分配模型中的字段獲取數據(即以has_one和has_many關係)?Kohana 3:從ORM模型獲取相關數據
編輯:根據要求,這裏是有問題的模型。
用戶模型
class Model_User extends ORM {
protected $_table_name = 'user';
protected $_primary_key = 'id';
protected $_primary_val = 'username';
protected $_has_many = array(
'task' => array(
'model' => 'task',
'foreign_key' => 'user',
),
);
protected $_belongs_to = array(
'company' => array(
'model' => 'company',
'foreign_key' => 'company'
),
);
任務模型
class Model_Task extends ORM {
protected $_table_name = 'tasks';
protected $_primary_key = 'id';
protected $_primary_val = 'name';
protected $_belongs_to = array(
'project' => array(
'model' => 'project',
'foreign_key' => 'project'
),
'user' => array(
'model' => 'user',
'foreign_key' => 'user'
),
);
公司型號
class Model_Company extends ORM {
protected $_table_name = 'companies';
protected $_primary_key = 'id';
protected $_primary_val = 'name';
protected $_has_many = array(
'user' => array(
'model' => 'user',
'foreign_key' => 'company'
),
);
}
代碼投擲的錯誤,從控制器
$users = ORM::factory('user')->find_all();
$list = array();
foreach($users as $user) {
$list[$user->id] = array(
'username' => $user->username,
'email' => $user->email,
'company' => $user->company->name //error:Trying to get property of non-object
)
}
啊,我看出來:「foreign_key」 =>「公司」在Model_User。你不能同時使用外鍵和關係。 – biakaveron 2010-10-06 05:34:54