0
私は$ dataを呼び出すとコメントを取得できません。このように戻ってコメントが返されないのはなぜですか?Cakephp 2xはhasMany関連データを取得できません
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
(
)
))
これは、私はあなたが手動で追加する必要はありませんモデル
で
$data = $this->Event->find('all',[
'conditions' => [
'Event.url_id' => $eventURL
],
'contain' =>[
'Comment'=>[
'conditions' => ['Comment.event_id' =>$eventURL],
],
],
]);
私はこれが間違っていると思います['Conditions' => ['Comment.event_id' => $ eventURL]、 'コメントテーブルは' event_id'カラムに '22cbb58298af0fe62284324ccc020023'を持っていますか? –
両方のテーブル構造を共有します。だから私たちはそれらの間の関連を知ることができます。コードと同様に、問題は関連付けにあります。原因コメントテーブルの –
がHERESにテーブル はTABLE 'comments'をCREATE、EVENT_IDとして外部キーを持っている( \t' id'のINT(10)UNSIGNED NOT NULL AUTO_INCREMENT、 \t 'user_id'のINT(10)UNSIGNED NOT NULLと、 \t 'event_id' VARCHAR(255)NOT NULL、 \t' content' TEXT NOT NULLと、 \t 'created' TIMESTAMPのNULLデフォルトNULL、 \t UPDATE CURRENT_TIMESTAMP、 \t PRIMARY KEY(' id' ON 'modified' TIMESTAMPのNULLデフォルトのCURRENT_TIMESTAMP )、 \tインデックス 'インデックス2'( 'event_id') ) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 20 ; – Tuang