查询Laravel关系中多个记录中的最新记录

时间:2020-04-29 15:43:30

标签: laravel

我有两个表usersusers_logs

users_logs表通过usersuser_id链接。

users_logs表可能有针对不同用户的多个条目,例如针对一个user_id可能有100条记录。

我想从users表中获取所有用户,然后想检查users_logs表中的最后一个(最新条目)是否比特定日期小created_at,如果可以的话,然后获取该记录,否则不获取。

我还在users表中创建了hasMany关系。

public function users_logs_details(){
    return $this->hasMany('App\UsersLog', 'user_id', 'id');
}

我尝试的代码是

$users = User::with(['users_logs_details'])
            ->whereHas('users_logs_details', function($query) use ($certainDate) {
                return $query->where('created_at', '<', $certainDate);
            })->get();

但是我没有得到任何结果,因为此查询正在检入users_logs表中的所有记录,但是我只想检查最新记录。

请帮助,我将非常感谢。

0 个答案:

没有答案