Я новичок в Laravel и изо всех сил пытаюсь выяснить это. Я пытаюсь упорядочить свои посты по дате, а также использовать paginator. Всякий раз, когда я удаляю пагинатор. это заказы по дате, но я думаю, что добавление их обратно в заказы по идентификатору?
Моя модель
class Post extends Model
{
//
protected $dates = ['date'];
}
Мой метод контроллера
public function show()
{
$posts = Post::orderBy('date','desc')->get();return view('welcome',['posts' => Post::paginate(5)], compact('posts'));
}
По сути, вы извлекаете все посты, а затем разбиваете их на страницы, после извлечения всех постов и их упорядочивания.
Ваш код ломается так:
public function show()
{
// retrieve posts and order them by date
$posts = Post::orderBy('date','desc')->get();
// retrieve posts again and paginate them
return view('welcome',['posts' => Post::paginate(5)], compact('posts'));
}
У вас есть два варианта —
Получайте сообщения, заказывайте их, разбивайте их на страницы и сохраняйте в переменную, которую вы передаете в ваше представление:
public function show()
{
$posts = Post::orderBy('date','desc')->paginate(5);return view('welcome', compact('posts'));
}
Или получите сообщения, закажите их и разбейте на страницы, передавая их в представление:
public function show()
{
return view('welcome',[ 'posts' => Post::orderBy('date','desc')->paginate(5) ]);
}
Других решений пока нет …