我有两个表共享关系用户和日志表。我正在尝试查询用户表并从日志中获取具有最高 id 值的记录
到目前为止,这是我返回重复条目的内容:
$students = User::with([
'course' => function ($query) {
$query->get(['id', 'name']);
}
])
->join('log', 'users.id', '=', 'log.user_id')
->where('log.event', 1)
->orderBy('log.id', 'desc')
->where('users.verified', 1)
->get(['users.*', 'log.id AS logid']);
理想情况下,我想要每个用户的日志表中最后插入的记录
groupBy('user_id')
返回第一条记录
最佳答案
$students = User::with([
'course' => function ($query) {
$query->get(['id', 'name']);
}
])
->join('log', 'users.id', '=', 'log.user_id')
->where('log.event', 1)
->whereRaw('log.id = (select max(`id`) from log where `user_id` = users.id )')
->where('users.verified', 1)
->get(['users.*', 'log.id AS logid', 'log.user_id']);
关于php - 如何通过与 eloquent Laravel 5.2 的连接从表中返回最高的 id 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38092091/