php - 如何通过与 eloquent Laravel 5.2 的连接从表中返回最高的 id 值

标签 php mysql laravel eloquent

我有两个表共享关系用户和日志表。我正在尝试查询用户表并从日志中获取具有最高 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/

相关文章:

mysql - 从 mysql 表中删除超过 100,000 行 - 服务器崩溃

php - 使用登录的 Laravel 子域重定向

php - PHP 字符串中不定冠词 (a, an) 的正确形式

java - 创建外键的语法错误

MySQL非常长的数字数据类型

laravel - 使用 Laravel 依赖注入(inject)时如何处理未找到的情况?

laravel - 使用 sail 运行现有的 Laravel 项目

php - 使用 jQuery 自动创建 div 并从 mysql 插入数据

php - 获取 SVG 路径的外部坐标(getBBox)?

php - Selenium 不显示失败的数字行