У меня есть 2 многие ко многим таблицам отношений; Посты и Категории. Один пост может иметь много категорий. У меня вопрос, как я могу показать список сообщений с их категориями?
Вот так:
Мой пост 1 (cat1, cat2, cat3)
Мой пост 2 (cat2, cat3)
Мой пост 3 (cat1)
Я пробовал эти методы;
// Create post object
$p = new Post();
// Get 30 posts
$p->get(30);
// Loop through all posts
foreach ($p as $post)
{
// Get the current user's group
$post->category->get();
foreach($post->category as $category) {
// ...
}
}
Не нравится, потому что если я получу 30 сообщений, то в каждом цикле сообщений снова делаю запрос и снова и снова нахожу категорию.
и попробовал это:
$p = new Post();
$p->include_related('category', array('id', 'name'), TRUE, TRUE)->get(30);
foreach($p as $post) {
// ...
foreach($post->category as $category) {
// ...
}
}
Это более близко, но эта проблема заключается в том, что я устанавливаю лимит get(30)
, поэтому, если в моем посте есть 2 категории, чем показано 15 постов + 15 категорий.
Каков истинный метод для многих для многих перечисления?