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
多个分组条件可以作为数组传递。每个数组元素都会被应用到多维数组中对应的层级
这意味着你的代码必须是->groupBy(['p_id','approve'])
【讨论】:
谢谢,我忘了!但它仍然不起作用。我截屏了上面的结果!以上是关于groupby 函数不适用于 laravel 5.5 中的二维数组的主要内容,如果未能解决你的问题,请参考以下文章
yajra/laravel-datatables 搜索不适用于 laravel 5.7
yajra/laravel-datatables 搜索不适用于 laravel 5.4