2015-02-20 1 views
0

У меня есть две таблицы Posts и Tags с many to many отношение. Мне нужно получить все сообщения с помощью некоторого тега и разбивать его на страницы. Можно ли использовать метод paginate или мне нужно создать новый экземпляр Paginator и сделать все вручную?Как сделать разбиение на страницы во многих во многих в Красноречиво?

P.S. Нужно что-то вроде:

$tags = Tags::where('name', '=', $tag)->with('posts')->first(); 

$posts = $tags->posts->paginate(5); 

return view('blog/posts')->with('posts', $posts); 

ответ

0

Вы, вероятно, следует использовать:

$posts = $tags->posts()->paginate(5); 

и вы также должны переименовать $tags в $tag если вы получаете только одну запись, чтобы не сделать имя переменной в заблуждение.

0

Вы должны использовать заявление о соединении. Он должен выглядеть примерно так:

DB::table('tags') 
     ->join('posts', 'tags.id', '=', 'posts.tag_id') 
     ->where('tags.name', '=', $tag) 
     ->paginate(5); 
Смежные вопросы