我有一张顾问表,其中包含一个外键“special_id”,该表与“specilaties”表相关联。
class Consultant extends AppModel {
public $belongsTo = array(
'Specialty' => array(
'className' => 'Specialty',
'conditions' => array('Specialty.active' => 1)
)
);
}
class Specialty extends AppModel {
public $hasOne = 'Consultant';
}
我认为这是对的,但是,我无法从顾问控制器那里获得专业清单 (“在非对象上调用成员函数find()”)
$this->set('specialties', $this->Specialty->find('all'));
我哪里出错?
谢谢
答案 0 :(得分:2)
请记住,您位于控制器中,而不是模型中。试试这个:
$this->set('specialties', $this->Consultant->Specialty->find('all'));
答案 1 :(得分:1)
如果您在其他控制器中使用Model,则首先加载该模型,然后运行查询:
$this->loadModel('Specialty');