У меня есть несколько HABTM, как эти:CakePHP постраничной несколько HABTM
// User модель
вар $ hasMany = массив ('Post');
// Почтовая модель
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