前几天在写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()集合,并不是我们平时用的数组)。
新人写的随笔,有错误的地方还请大神斧正!转载请说明出处~