Php 如何获取所有记录并按create_at(仅日期)对其进行分组

Php 如何获取所有记录并按create_at(仅日期)对其进行分组,php,laravel,Php,Laravel,我有一个名为shopping\u apps,的表,该表在不同的日期有不同的条目。我想拥有所有记录,但将所有记录按日期(而不是时间部分)分组。假设我在date1上有20个条目,在date2上有12个条目。我只想从数据库中提取两个值:date1和date2。控制器在下面,Shopping\u app是我的型号名称 试试这个也许会对你有所帮助,所以在@manish的帮助下,我得到了正确的答案(我想得到的) 错误由解决 加错 在config\database.php-->“mysql”数组中 设置's

我有一个名为
shopping\u apps,
的表,该表在不同的日期有不同的条目。我想拥有所有记录,但将所有记录按日期(而不是时间部分)分组。假设我在
date1
上有20个条目,在
date2
上有12个条目。我只想从数据库中提取两个值:
date1
date2
。控制器在下面,
Shopping\u app
是我的型号名称



试试这个也许会对你有所帮助,所以在@manish的帮助下,我得到了正确的答案(我想得到的)

错误由解决

加错

config\database.php
-->“mysql”数组中 设置'strict'=>false以禁用所有

最终代码:

$shoppingApp = Shopping_app::where('created_at', '>=', \Carbon\Carbon::now()->subMonth())
                    ->groupBy(DB::raw('Date(created_at)'))
                    ->orderBy('created_at', 'DESC')->get();

错误:SQLSTATE[42000]:语法错误或访问冲突:1055'laravelpro4.shopping_apps.id'不在分组依据中(SQL:select*from
shopping_apps
where
created_at
>=2019-01-02 12:20:53按日期分组(created_at)order BY
created_at
desc)[看看这个
$shoppingApp = Shopping_app::where('created_at', '>=', \Carbon\Carbon::now()->subMonth())
                    ->groupBy(DB::raw('Date(created_at)'))
                    ->orderBy('created_at', 'DESC')->get();