Как добавить ограничение на массив данных, извлекаемых из базы данных в Laravel

Я извлекаю строки из пользовательской таблицы и использую приведенный ниже код.

<?php $user = User::get(); ?>

Я хочу добавить предел массива для данных пользователя. Я не хочу использовать paginate();, Чтобы добавить ограничение я использую код ниже, но он не работает

$users = array_slice($users, 0,2);

Но это показывает ниже сообщение об ошибке

исключение «ErrorException» с сообщением «array_slice () ожидает
параметр 1 должен быть массивом, объект задан ‘в ……..

Как добавить лимит в $user?

0

Решение

<?php
$user = User::get();
$user = $user ->limit(10);
?>

попробуйте ограничить или

<?php
$user = User::get();
$user = $user ->take(10);
?>
2

Другие решения

В последних версиях Laravel вы также можете использовать:

User::limit(10)->offset(0)->get();

Обратите внимание, что модель пользователя должна расширять Eloquent.

1

Вы хотите использовать:

$users = array_slice($user, 0,2);
0

Вы получаете ошибку, потому что $users это коллекция, не массив.

Вы могли бы использовать принимать метод

$users = User::get()->take(3);

или ломтик метод

$users = User::get()->slice(3);
0

Вот несколько способов, которыми вы можете достичь этого.

Применение смещения и предела непосредственно к построителю запросов позволяет вам выбирать только необходимые строки.

$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);
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector