3

我有一个顾问表,它有一个外键“specialty_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'));

我哪里错了?

谢谢

4

2 回答 2

2

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

$this->set('specialties', $this->Consultant->Specialty->find('all'));
于 2013-02-05T12:24:28.797 回答
1

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

$this->loadModel('Specialty');
于 2013-02-05T12:25:24.777 回答