이것은 제 상황입니다, 여러 범주에 속할 수있는 게시 모델이 있습니다.CakePHP - HABTM 관계와 find()
class Post extends AppModel
{
var $hasAndBelongsToMany = array('Category');
}
그리고 분류 모델 :
class Category extends AppModel
{
var $hasAndBelongsToMany = array ('Post');
}
자,이 모든 벌금과 모든 작품이 내가하는 방법을 알아 냈어. 내가 구글에 대한 답을 찾기 위해 노력했습니다
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,
),
),
));
편집이 : 죄송합니다 잘못된 코드를 찾고 있었어요
감사합니다. 그러나이 문제는 작동하지만 포스트 모델이 사용자에게 속한 한 가지 문제가 있습니다. 그러나 귀하의 방법에서 얻은 목록에는 연결된 사용자 이름과 사용자 데이터가 없습니다. 이것은 이와 같이 작동하도록 의도 되었습니까? 아니면 다른 방법으로 얻을 수 있습니까? 그렇지 않으면, 중대한 응답, 빨리, 너무. :) – vanneto
find 메서드의 param 배열에 'recursive'=> 2를 추가하면 충분합니다. – kaklon
작동 :) 사용자가 카테고리를 탐색 할 때 한 가지 더 말하지만. 이제 그는 해당 카테고리의 뉴스를 날짜 ASC별로 정렬하려고합니다. 카테고리 컨트롤러에서이를 수행 할 수 있습니까, 아니면 뉴스 컨트롤러에서해야합니까? – vanneto