1. 程式人生 > >關於laravel 用paginate()取值取不到的問題

關於laravel 用paginate()取值取不到的問題

collect pan array ted authent ces created lar esp

前幾天在寫api的時候,出現了一個比較奇怪的問題,用paginate()方法取值取不到的問題,我奇怪的是,我用paginate()方法取值是直接復制粘貼之前自己寫過的api中的代碼的,怎麽突然取不到了呢?

代碼如下:

$user = JWTAuth::parseToken()->authenticate();
$status = $request->input(‘status‘);
$appeal = Appeal::select(‘id‘,‘created_at‘,‘area‘,‘spread_way_id‘,‘result‘)
->where(‘user_id‘,$user->id)
->where(‘status‘,$status)
   ->with([‘spread_way‘=>function($q){
    $q->select(‘id‘,‘spread_way as spread_way_name‘);
   }])
->paginate(5);
return response()->success($appeal);

這樣的取值結果是空,然後我用get(5)去取值,結果有5條數據,這讓我非常疑惑,難道paginate()方法有問題?我明明是復制粘貼過來的,之前用的還是好好的,怎麽會突然有問題呢?後面發現,復制代碼的時候少了toArray()這個方法,導致success()不能將collection()集合轉化為json格式。(用paginate()取到的是一個collection()集合,並不是我們平時用的數組)。

新人寫的隨筆,有錯誤的地方還請大神斧正!轉載請說明出處~

關於laravel 用paginate()取值取不到的問題