我正在从用户表中检索行,而我正在使用下面的代码。
<?php $user = User::get(); ?>
我想为$ user数据添加数组限制。我不想使用paginate();
。要使用以下代码添加限制,但它无法正常工作
$users = array_slice($users, 0,2);
但它显示以下错误消息
例外&#39; ErrorException&#39;消息&#39; array_slice()期望 参数1为数组,给定对象&#39;在........
如何向$user
添加限制?
答案 0 :(得分:2)
<?php
$user = User::get();
$user = $user ->limit(10);
?>
尝试限制或
<?php
$user = User::get();
$user = $user ->take(10);
?>
答案 1 :(得分:1)
在最近的Laravel版本中,您还可以使用:
User::limit(10)->offset(0)->get();
请注意,用户模型必须扩展Eloquent。
答案 2 :(得分:0)
您的意思是使用:
$users = array_slice($user, 0,2);
答案 3 :(得分:0)
您收到错误是因为$users
是collection,而不是数组。
您可以使用take方法
$users = User::get()->take(3);
或slice方法
$users = User::get()->slice(3);
答案 4 :(得分: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);