これは私の状況です、私は複数のカテゴリに属することができる投稿モデルがあります。これは私が行う方法を考え出し:CakePHP - HABTMの関係とfind()
class Post extends AppModel
{
var $hasAndBelongsToMany = array('Category');
}
とカテゴリモデル:
今class Category extends AppModel
{
var $hasAndBelongsToMany = array ('Post');
}
、これはすべてが正常に動作し、すべてのこと。私はGoogleで答えを見つけるためにしようとしてきた
class CategoriesController extends AppController {
function view ($id = 0) {
// doesnt work
$this->Category->Video->find ('all', array('conditions' => array('category_id' => $id));
}
}
:しかし、私はちょうどで使用する1のIDで例「ニュース」のために、特定のカテゴリに属する記事を検索する方法を見つけ出すことはできませんCookBookはまだ何も見つけていない。誰でもこれがどのように達成できるか知っていますか?
ありがとうございます。
$this->Category->bindModel(array(
'hasOne' => array(
'CategoriesVideo'
),
));
return $this->Video->find('all', array(
'conditions' => array(
'CategoriesVideo.category_id' => $id,
),
),
));
EDITは:申し訳ありませんが、間違ったコードを見ていた
ありがとう、これは動作しますが、1つの問題があります。ポストモデルはユーザーに属します。しかし、あなたの方法から得たリストには、関連付けられたユーザー名とユーザーデータはありません。これはこのように動作することを意図しているのですか、それとも他の方法で入手できますか?そうでなければ、すばらしい答えです。 :) – vanneto
findメソッドのparam配列に 'recursive' => 2を追加すると十分です。 – kaklon
Works :)もう1つのことですが、ユーザーがカテゴリをブラウズするとします。今、彼はそのカテゴリーのニュースを日付ASCでソートしたいと思っています。これはカテゴリコントローラで行うことができますか、それともニュースコントローラで行う必要がありますか? – vanneto