Я застрял на простом задании. Мне просто нужно заказать результаты этого звонка
$results = Project::all();
Где Project
модель. Я пробовал это
$results = Project::all()->orderBy("name");
Но это не сработало. Какой лучший способ получить все данные из таблицы и упорядочить их?
laravel
laravel-4
eloquent
sql-order-by
MatterGoal
источник
источник
get()
vsall()
: stackoverflow.com/questions/34587457/…Вы можете по-прежнему использовать sortBy (на уровне коллекции) вместо orderBy (на уровне запроса), если вы все еще хотите использовать all (), поскольку он возвращает коллекцию объектов.
По возрастанию
В порядке убывания
Проверьте документацию о коллекциях для более подробной информации.
https://laravel.com/docs/5.1/collections
источник
orderBy
на уровне запроса?sortBy()
происходит внутри Laravel Engine (в PHP), аorderBy()
в базе данных. Конечно, база данных будет работать быстрее почти во всех мыслимых ситуациях, и по мере увеличения вашего набора данных будет увеличиваться неравенство в производительности. Я хотел бы услышать мысли других людей по этому поводу.Кроме того, просто чтобы поддержать прежние ответы, его можно отсортировать либо по убыванию,
desc
либо по возрастаниюasc
, добавив либо в качестве второго параметра.источник
Обновление 2017
В Laravel 5.4 добавлены методы orderByDesc () для построителя запросов:
источник
Пока вам нужен результат для даты как desc
источник
СДЕЛАЙ ЭТО:
НЕ ДЕЛАЙТЕ ЭТОГО:
ЗАЧЕМ? Вкратце, первый подход быстрее второго.
источник
Проверьте
sortBy
метод для Eloquent: http://laravel.com/docs/eloquentисточник
Обратите внимание, вы можете сделать:
Это генерирует запрос как:
В некоторых приложениях, когда БД не оптимизирована и запрос более сложен, и вам необходимо предотвратить генерацию ORDER BY в готовом SQL, вы можете сделать:
Теперь php, кто заказывает результат.
источник
Вам инструкцию требуют позвонить, чтобы получить, потому что это принесет записи и порядок по каталогу
Пример:
В этом примере данные фильтруются по «где» и приводят записи больше 20 и каталог orderBy по порядку от высокого к низкому.
источник