私はあなたの他の投稿CakePHP Elements not updates tableを見たので、あなたの状況をある程度把握しています。Post モデルでコメントを表しているようです。
UploadsController で、Post モデルからデータをクエリしたいのですね。
コメント テーブルの名前がcomments
の場合、それが Post モデルに関連付けられていることを確認する必要があります。モデルとデータベース テーブルが Cake の命名規則に従っている場合、Cake は自動的にモデルとデータベース テーブルを関連付けます。しかし、それらが実際に異なる場合は、Post モデルのカスタム データベース テーブルを指定できます。
<?php
class Post extends AppModel {
var $useTable = "comments" /*Or whatever you named your comments table*/
...
}
?>
また、投稿とアップロードの間でモデルの関連付けが設定されていることを確認する必要があります。
Post belongsTo Upload
Upload hasMany Post
私はあなたが持っていることに気づきました:
Post belongsTo Upload
Upload hasAndBelongsToMany Post
HABTMである理由はありますか?HABTM は、同じ投稿が多くの異なるアップロードに属することができることを意味します。hasMany は、投稿が単一のアップロードにのみ属することができることを意味します。
最後に、モデルの関連付けが設定されたので、コントローラーで関連するモデルにアクセスできます。
<?php
class UploadsController extends AppController {
...
function watch ($id = null) {
$this->Upload->id = $id;
$this->set('uploads', $this->Upload->read());
/* To get related comments (Posts) */
$related_comments = $this->Upload->Post->find('all', array(
'conditions' => array(
'Upload.id' => $id /* This condition makes it so only associated comments are found */
)
));
$this->set('comments', $related_comments);
}
...
}
?>