У меня есть две таблицы users
и users_logs
.
Таблица users_logs
связана с users
с помощью user_id
.
Таблица users_logs
может иметь несколько записей против разных пользователей, например 100 записей могут иметь против одного user_id
.
Я хочу получить всех пользователей из таблицы users
, а затем проверить, последняя ли (самая последняя запись) в users_logs
таблица имеет created_at
меньше определенной даты, если да, то извлеките записи, которые еще не были.
Я также создал отношение hasMany в таблице users
.
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
, но я хочу проверить только последнюю запись.
Пожалуйста, помогите, я был бы очень благодарен.