Как добавить ограничение на массив данных, извлекаемых из базы данных в Laravel
Я извлекаю строки из пользовательской таблицы и использую приведенный ниже код.
<?php $user = User::get(); ?>
Я хочу добавить предел массива для данных пользователя. Я не хочу использовать paginate();
, Чтобы добавить ограничение я использую код ниже, но он не работает $users = array_slice($users, 0,2);
Но это показывает ниже сообщение об ошибке
исключение "ErrorException" с сообщением "array_slice() ожидает, что параметр 1 будет массивом, объект задан" в........
Как добавить лимит в $user
?
5 ответов
<?php
$user = User::get();
$user = $user ->limit(10);
?>
попробуйте ограничить или
<?php
$user = User::get();
$user = $user ->take(10);
?>
В последних версиях Laravel вы также можете использовать:
User::limit(10)->offset(0)->get();
Обратите внимание, что модель пользователя должна расширять Eloquent.
Вот несколько способов, которыми вы можете достичь этого.
Применение смещения и предела непосредственно к построителю запросов позволяет извлекать только необходимые строки.
$users = User::skip(5)->take(10)->get();
$users = User::offset(5)->limit(10)->get();
Если вы настаиваете на работе с полным результатом, то этот подход - то, что вам нужно. Вам нужно использовать метод среза коллекции, а не array_slice, поскольку результатом является коллекция.
$users = User::all();
// Collection slice(offset, limit)
$users = $users->slice(5, 10);