2013-02-05 84 views
3

我有一个顾问表有一个外键'specialty_id'链接到'specilaties'表。Cakephp belongsTo关系 - 访问相关的模型

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

记住你是在控制器,不是模型。试试这个:

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

完美谢谢! – user195257

1

如果您使用的是其他控制器型号的话,首先载荷模型,然后运行查询:

$this->loadModel('Specialty');