【问题标题】:The groupby function didn't work on two dimensional array in laravel 5.5groupby 函数不适用于 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'])

得到

【问题讨论】:

    标签: laravel multidimensional-array group-by laravel-query-builder


    【解决方案1】:

    根据DOCS

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

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

    【讨论】:

    • 谢谢,我忘了!但它仍然不起作用。我截屏了上面的结果!
    猜你喜欢
    • 2021-11-21
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 2019-02-08
    • 2020-04-27
    • 1970-01-01
    • 2022-06-15
    相关资源
    最近更新 更多