Я новичок в laravel и изо всех сил пытаюсь понять это. Я пытаюсь заказать свои посты по дате, а также использовать paginator. Всякий раз, когда я удаляю страничку. он заказывает по дате, но добавляю его обратно в заказы по id, я думаю?
Моя модель
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) ]); }