Cakephp 2x无法检索hasMany关系数据

时间:2017-05-03 13:08:13

标签: php cakephp

我的问题是,当我拨打$ data时,我无法检索评论,它会像这样返回,为什么评论不会返回?

Array(
[0] => Array
    (
        [Event] => Array
            (
                [id] => 1
                [url_id] => 22cbb58298af0fe62284324ccc020023
                [name] => 高尾山ハイキング
                [date] => 2017-05-06 00:00:00
                [memo] => 行こうぜ
                [is_available] => 1
                [created] => 2017-05-03 21:15:30
                [modified] => 2017-05-03 21:15:30
            )

        [Comment] => Array
            (
            )

    ))
  

这是事件控制器和事件有很多评论,顺便说一下   已在Model

完成一些设置
$data = $this->Event->find('all',[
            'conditions' => [
                'Event.url_id' => $eventURL
            ],
            'contain' =>[
                'Comment'=>[
                    'conditions' => ['Comment.event_id' =>$eventURL],
                ],
            ],
        ]);

1 个答案:

答案 0 :(得分:1)

您不必在contain密钥中手动添加foreign_key。

如果您的模型设置正确且hasMany表中有Event Comment条记录,那么这应该可以为您提供所期望的内容。

$data = $this->Event->find('all', [
    'conditions' => [
        'Event.url_id' => $eventURL
    ],
    'contain' =>[
        'Comment'
    ]
]);

如果您的数据库中有Comment event_id 1,您应该得到它。

如果不这样做,请设置Configure::write('debug', 2)并检查SQL调试输出,生成什么查询。