페이지를 매기는 :CakePHP의 내가 이런 여러 HABTM이 여러 HABTM
// 사용자 모델
VAR $의 hasMany의 = 배열 ('포스트');
// 게시 모델
var $ hasAndBelongsToMany = array ('Category', 'Tag');
// 범주 모델
var $ hasAndBelongsToMany = array ('Post');
// 태그 모델
var $ hasAndBelongsToMany = array ('Post');
사용자 및 태그 (특정 카테고리 내)와 함께 모든 게시물을 가져 오려고했는데, 태그를 가져 오면 결과가 잘못되었습니다.
$this->paginate = array
(
'Post' => array
(
'limit' => 2,
'fields' => array(
'Post.title', 'Post.content', 'Post.slug', 'Post.created',
'Tag.name',
'User.username', 'User.created', 'User.post_count', 'User.avatar_file_name'),
'joins' => array
(
array(
'table' => 'categories_posts',
'alias' => 'CategoriesPost',
'type' => 'inner',
'conditions'=> array('CategoriesPost.post_id = Post.id')
),
// FETCH USER
array(
'table' => 'users',
'alias' => 'User',
'type' => 'inner',
'conditions'=> array('Post.user_id = User.id')
),
// FETCH TAGS
array(
'table' => 'posts_tags',
'alias' => 'PostsTag',
'type' => 'inner',
'conditions'=> array('PostsTag.post_id = Post.id')
),
array(
'table' => 'tags',
'alias' => 'Tag',
'type' => 'inner',
'conditions'=> array('Tag.id = PostsTag.tag_id')
),
array(
'table' => 'categories',
'alias' => 'Category',
'type' => 'inner',
'conditions'=> array('Category.id = CategoriesPost.category_id', 'Category.slug' => $slug)
)
)
)
);
$posts = $this->paginate();
나는이 안돼서 이후
사람이 해결책을 내 놔 수 있을까? 많은 감사 ...
'틀린'은 무엇을 의미합니까? 결과 집합을 기록 할 수 있습니까? – sibidiba
글쎄, 내가 태그를 가져 오면 결과는 첫 번째 포스트의 루프가됩니다. 태그를 가져 오지 않은 경우 올바른 결과의 모든 게시물을 반환합니다. – izmanromli