Laravel 如何使用;groupBy“;与拉威尔的关系
我需要按日期分组。问题是有两个表“看板”和“apontamentos” 类似于:看板::with('apontamentos')->get()->groupBy('dataApontamento'); 属性错误 我已经尝试了一切,在模型中使用“groupBy”。需要知道如何在控制器中分组并执行“foreach” 最接近我的是这样的:Laravel 如何使用;groupBy“;与拉威尔的关系,laravel,eloquent,Laravel,Eloquent,我需要按日期分组。问题是有两个表“看板”和“apontamentos” 类似于:看板::with('apontamentos')->get()->groupBy('dataApontamento'); 属性错误 我已经尝试了一切,在模型中使用“groupBy”。需要知道如何在控制器中分组并执行“foreach” 最接近我的是这样的: $days = Kanban::with('apontamentos')->get()->groupBy(function ($val) {
$days = Kanban::with('apontamentos')->get()->groupBy(function ($val) {
return $val->dataApontamento;
});
// dd($days);
foreach ($days as $day => $appointments) {
echo '<h2>'.$day.'</h2><ul>';
foreach ($appointments as $appointment) {
echo '<li>'.$appointment->atividade.'</li>';
}
echo '</ul><br>';
}
$days=Kanban::with('apontamentos')->get()->groupBy(函数($val){
返回$val->dataApontamento;
});
//dd(天);
foreach($day的天数=>$appointment){
回音“.$day.”;
foreach($预约作为$预约){
回显“- ”.$appointment->atividade.
”;
}
回音“
”;
}
更清楚的例子:
看板
标题:等待服务
Apontamentos
日期05/05
项目1
项目2
项目3
日期05年6月
项目1
项目2
项目6
项目7
看板
标题:待定
apontamentos
日期:2005年8月
项目9
项目8
项目4
看板
标题:看板
标题:等待服务
apontamentos
日期:2005年9月
项目1
项目1
项目1
项目1
10/05
项目1
项目1
项目1
项目1试试这个
Kanban::with(['apontamentos' => function($query){
$query->groupBy('dataApontamento');
}])->get();
感谢@Alex的回复,给出了这个错误。SQLSTATE[42000]:语法错误或访问冲突:1055“company.apontamentos.id”不在GROUP BY中(SQL:select*from
apontamentos
其中apontamentos
在(7,10,11,12)GROUP BYdataApontamento
中)您必须将company.apontamentos.id放入组中,或者您必须告诉laravel对数据库使用strict mode false,您必须转到config/database,并在mysql中放入此“strict”=>false相同的错误'prefix'=>'','prefix_index'=>true',strict'=>false,'engine'=>null,
如果您的mysql使用SELECT@@GLOBAL.sql_模式使粘贴模式失效,请检入数据库,您可以通过SET@GLOBAL.sql_模式=''来更改它。如何更好地解释它?我使用xampp