groupby 函数不适用于 laravel 5.5 中的二维数组

Posted

技术标签:

【中文标题】groupby 函数不适用于 laravel 5.5 中的二维数组【英文标题】:The groupby function didn't work on two dimensional array in laravel 5.5 【发布时间】:2018-09-19 01:09:14 【问题描述】:
id  p_id    approve m_approve
1   75       1       0
2   74       1       1
3   73       1       1
4   72       1       1
5   75       1       1
6   73       0       1
7   71       1       0
8   70       1       1
9   69       0       1
10  75       0       0
11  75       0       0
12  75       0       0
13  75       1       0
14  75       1       0
15  75       0       1


  $result = DB::table('a16s_likes')
   ->select ('id','p_id','approve','m_approve')
   ->get()    ///become collection
   ->groupBy('p_id')
   ->toarray(); //->all()
   echo '<pre>' ;
   print_r($result);

我得到了正确的一维数组 但是当我使用

->groupBy('p_id','approve')
->all();

我得到相同的一维数组结果? 没有得到二维数组?

我怎样才能得到 p_id(75)-approve(0) 和 p_id(75)-approve(1) 两组并且只取最后 2 行?

我修复了代码

->groupBy(['p_id','m_approve'])

得到

【问题讨论】:

【参考方案1】:

根据DOCS

多个分组条件可以作为数组传递。每个数组元素都会被应用到多维数组中对应的层级

这意味着你的代码必须是-&gt;groupBy(['p_id','approve'])

【讨论】:

谢谢,我忘了!但它仍然不起作用。我截屏了上面的结果!

以上是关于groupby 函数不适用于 laravel 5.5 中的二维数组的主要内容,如果未能解决你的问题,请参考以下文章

yajra/laravel-datatables 搜索不适用于 laravel 5.7

yajra/laravel-datatables 搜索不适用于 laravel 5.4

Laravel4:块函数不适用于模型保存()

e.preventDefault 不适用于 laravel 5.7

Laravel 5.4 事件广播不适用于 vuejs

Laravel 5漂亮的URL不适用于wamp