【发布时间】:2021-07-11 19:48:51
【问题描述】:
在 laravel 中使用 group by 和 order by 时,我没有得到我想要的输出 这是我的代码
$old=DB::table('tbl1')
->leftJoin('tbl2','tbl1.id','=','tbl2.tbl1_id')
->whereDate('tbl2.created_at','<' ,Carbon::today())
->where('tbl1.users_id',$id)
->select('tbl2.name as name','tbl1.teacher as teacher','table2.class_id as class_id')
->orderBy('tbl2.created_at','desc')
->groupBy('tbl2.class_id')
->get()
->toArray();
通过正常工作进行分组,但它没有返回我只想根据创建时间获取 class_id 的最新值的最新值
【问题讨论】:
-
编辑
config/database.php。在mysql数组中,设置为strict => false -
你没有理解我的问题。实际上我得到了基于 groupby() 的结果,但没有得到最新的结果
-
你需要做一个子查询吗?
-
@RoëlGonzalez 你能详细说明一下,在这种情况下我如何创建子查询?
-
你能运行
->toSql而不是->get()并显示结果查询是什么吗?