簡體   English   中英

如何在Laravel中為從數據庫中獲取的數組數據增加限制

[英]How to add limit to array data fetched from database in laravel

我正在從用戶表中檢索行,並且正在使用下面的代碼。

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

我想為$ user數據添加數組限制。 我不想使用paginate(); 為了增加限制,我正在使用下面的代碼,但它不起作用

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

但是它顯示下面的錯誤信息

消息“ array_slice()的異常” ErrorException”期望參數1為數組,對象已給定。

如何向$user添加限制?

<?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 = array_slice($user, 0,2); 

由於$users是一個集合而不是一個數組,因此出現錯誤。

您可以使用take方法

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

切片方法

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

您可以通過以下幾種方法實現這一目標。

將偏移量和限制直接應用於查詢構建器可以使您僅獲取所需的行。

$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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM