如何在Laravel中获取groupBy的数据和计数?
如何获取如何在Laravel中获取groupBy的数据和计数?,laravel,eloquent,group-by,Laravel,Eloquent,Group By,如何获取groupBy的计数以及数据 我试过这个,但它只返回计数,没有数据 $data = Model::orderBy('id', 'desc') ->select('status', DB::raw('count(*) as total')) ->groupBy('status') ->get(); 任何帮助都将不胜感激 谢谢 我还没有测试过。会是这样的。这将返回一个带有id、
groupBy
的计数以及数据
我试过这个,但它只返回计数,没有数据
$data = Model::orderBy('id', 'desc')
->select('status', DB::raw('count(*) as total'))
->groupBy('status')
->get();
任何帮助都将不胜感激
谢谢
我还没有测试过。会是这样的。这将返回一个带有id、状态和计数的数组。如果它不起作用,请告诉我
但是,如果您通过这种方式包括id
,这是唯一的,并且在groupby中没有意义,那么您的mysql应该能够这样做,否则它将抛出sql\u mode=only\u full\u group\u by
error laravel。它可以通过改变模式来处理。但我建议按id删除订单
'connections' => [
'mysql' => [
// Behave like MySQL 5.6
'strict' => false,
// Behave like MySQL 5.7
'strict' => true,
]
]
出现语法错误或访问冲突:1055。。。不在群中,我只是更新了答案。刚刚意识到id已在查询中使用。该名称已设置为
true
。我现在可以获取id
,但如何获取所有数据?就像select*fromtablename
no。问题是你说mysql不要那么严格,这是为了让你使用这个不太酷的组id字段来包含在分组查询中
'connections' => [
'mysql' => [
// Behave like MySQL 5.6
'strict' => false,
// Behave like MySQL 5.7
'strict' => true,
]
]