【问题标题】:Laravel collection return ArrayLaravel 集合返回数组
【发布时间】:2020-09-12 09:39:13
【问题描述】:

所以我有这张桌子

|id|    price    |  start_time |
--------------------------------
|1 |    45000.00 |  04:45:00   |
|1 |    45000.00 |  07:00:00   |
|2 |    40000.00 |  01:20:00   |

我想做一个像这样返回 json 的集合

{
   id: 1
   price: 45000.00
   start_time: [
        04:45:00, 07:00:00
    ]
},
{
   id: 2
   price: 40000.00
   start_time: [
        01:20:00
    ]
}

我花了很多时间想办法,但我做不到

请帮我弄清楚,提前谢谢

【问题讨论】:

  • 你想在孔内应用或单线。?
  • 单条路线

标签: php laravel collections


【解决方案1】:

使用map()

 $laravelCollcetion->map(function($row){
       return $row['start_time'] = [$row['start_time']]
  })

return $laravelCollcetion;

参考链接https://laravel.com/docs/7.x/collections#extending-collections


对于您的数据库实例,您可以这样做

 $data = \DB::table('schedules')
        ->select(\DB::raw('id, price,GROUP_CONCAT(start_time) as start_time'))
        ->groupBy('id')
        ->get();

return $data;

【讨论】:

  • 现在我正在为我的查询而苦苦挣扎,我现在的查询是 DB::table('schedules')->select('id','price','start')->groupBy( 'id', '价格')->get();但我发现一个错误。你知道我应该使用什么查询吗?提前致谢
猜你喜欢
  • 2020-01-05
  • 1970-01-01
  • 2019-04-03
  • 2018-12-07
  • 1970-01-01
  • 2021-09-29
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
相关资源
最近更新 更多