У меня есть таблица «статьи» (модель: статья), в которой есть поле с именем «просмотр страницы». Каждая статья имеет разное количество просмотров страниц. Я хочу получить те строки, которые занимают первые 10 просмотров страниц. Как я могу получить эти данные с помощью красноречия?






Вы можете сначала заказать по DESC статьи, а затем взять 10 записей модели. Попробуй это!
$articles = Article::orderBy('pageview', 'DESC')->take(10)->get();
Это сделает свое дело:
Article::orderBy('PageView','Desc')->take(10)->get();
Вы можете сделать это с помощью метода orderBy, который упорядочивает данные. следовательно, вам нужны 10 лучших просмотров страниц, вы можете это сделать.
orderBy('PageView','desc')
Теперь вам нужно взять только 10, поэтому используйте метод take(). На самом деле это означает ограничение в MySQL. вот твой код
Article::orderBy('PageView','desc')->take(10)->get();
Запрос Mysql теперь
select * from articles order by PageView desc limit 10
Article::orderBy('PageView','DESC')->take(10)->get();
или (без имени столбца)
Article::latest()->take(10)->get();