CakePHP $ belongsTo无法正常工作

时间:2014-03-03 05:11:39

标签: php database cakephp controller belongs-to

我有一段时间让我的协会在这里工作。每次我在事件控制器上运行视图操作,并使用var_dump,我只是回到事件信息,没有公司信息,就像它忽略了我的关联一样,更令人讨厌的是没有错误信息。

Events表有一个名为Company_ID的字段,Companies表有一个ID字段。 (是大写的Company_ID和ID)。

class Event extends AppModel{
    public $name = "Events";
//    public $belongsTo = 'Company';
    public $belongsTo = array('Company'=>array(
        'className' => 'Company',
        'foreignKey'=>'Company_ID'
    ));
    //public $hasOne = 'Company';
    /*public $hasOne = array('Company'=>array(
        'className' => 'Company',
        'foreignKey'=>'Company_ID'
    ));*/
}

App::uses("AppModel", "Model");
class Company extends AppModel{
    public $name = "Company";
}

呼叫控制器。

public function view() {
    $id = $this->request->params['id'];
    $this->set(
        'event', 
        $this->Event->find(
            'first', 
             array('conditions' => array('Event.id' => $id))
        )
    );
}

2 个答案:

答案 0 :(得分:2)

可能的CakePHP副本不保存关联的模型。看这是迄今为止“为什么我的模型逻辑没有被执行”问题的最常见原因。

这是文件名,其中一些是复数形式与单数形式。我将Events.php更改为Event.php,将Companies.php更改为似乎可以解决问题的Company.php。

答案 1 :(得分:0)

请你试试以下内容:

这可能对您有所帮助

 public $belongsTo = array('Company'=>array(
    'className' => 'Company',
    'foreignKey'=>'company_id'
));

由于