Cakephp属于关系 - 访问相关模型

时间:2013-02-05 12:21:36

标签: cakephp

我有一张顾问表,其中包含一个外键“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'));

我哪里出错?

谢谢

2 个答案:

答案 0 :(得分:2)

请记住,您位于控制器中,而不是模型中。试试这个:

$this->set('specialties', $this->Consultant->Specialty->find('all'));

答案 1 :(得分:1)

如果您在其他控制器中使用Model,则首先加载该模型,然后运行查询:

$this->loadModel('Specialty');