解決Laravel5.5下的toArray問題
阿新 • • 發佈:2020-11-26
作為一個有輕度強迫症且受ThinkPHP影響較深的PHP碼農,總覺得Laravel5.5的DB::xxoo->get()->toArray()之後竟然還沒得到我想要的ThinkPHP中的select()出來的陣列,於是決定做一下修改。
PS:出於儘量不影響原有框架的考慮,我是新建了一個方法叫getList來暫代toArray那不知所謂的返回結果,在沒有找到更好的解決辦法之前,暫時這麼用著,總體感覺,get()->getList()仍覺得略醜。。。。
具體修改如下:
1、在/vendor/laravel/framework/src/Illuminate/Support/Collection.php的toAarray方法下,增加一個getList方法
public function getList(){ return array_map('get_object_vars', $this->items); }
2、然後就可以這樣來查列表了
$goods_category_list=DB::table('lara_goods_category')->select('goods_category_id','goods_category_name','goods_category_shortname')->where('goods_category_show', '=', 1)->offset(0)->limit(5)->orderBy('goods_category_sort', 'asc')->get()->getList();
3、返回的正是我所想要的陣列,如下圖:
以上這篇解決Laravel5.5下的toArray問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援碼農教程。