如何在 laravel 中对从数据库中获取的数组数据添加限制
How to add limit to array data fetched from database in laravel
我正在从用户 table 中检索行,并且我正在使用以下代码。
<?php $user = User::get(); ?>
我想为 $user 数据添加数组限制。我不想使用 paginate();
。要添加限制,我正在使用以下代码,但它不起作用
$users = array_slice($users, 0,2);
但是它显示在下面的错误信息
exception 'ErrorException' with message 'array_slice() expects
parameter 1 to be array, object given' in........
如何为 $user
添加限制?
你的意思是使用:
$users = array_slice($user, 0,2);
您收到错误是因为 $users
是 collection,而不是数组。
您可以使用 take 方法
$users = User::get()->take(3);
或slice方法
$users = User::get()->slice(3);
<?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);
我正在从用户 table 中检索行,并且我正在使用以下代码。
<?php $user = User::get(); ?>
我想为 $user 数据添加数组限制。我不想使用 paginate();
。要添加限制,我正在使用以下代码,但它不起作用
$users = array_slice($users, 0,2);
但是它显示在下面的错误信息
exception 'ErrorException' with message 'array_slice() expects parameter 1 to be array, object given' in........
如何为 $user
添加限制?
你的意思是使用:
$users = array_slice($user, 0,2);
您收到错误是因为 $users
是 collection,而不是数组。
您可以使用 take 方法
$users = User::get()->take(3);
或slice方法
$users = User::get()->slice(3);
<?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);