У меня есть две модели: пользователь и книги последняя имеет столбец status , который может принимать различные значения active , неактивно , удалено , поэтому у пользователя может быть несколько книг, и книга принадлежит пользователю.
, поэтому вопрос заключается в том, как я могу получить только пользователей, которые имеют Последняя книга со статусом удалена .
Я сделал это просто Запрос , но, похоже, не работает, потому что он удаляет всех пользователей со статусом, но не учитывает последнее это должно быть со статусом удалено (я должен использовать last () или что-то?)
return $user->whereHas('books', function (Builder $query) {
$query->where('status', '=', 'deleted');
});
Книги пользователя hasMany метод
public function books()
{
return $this->hasMany(
Book::class,
Book::USER_ID_COLUMN_NAME,
self::PRIMARY_KEY_COLUMN_NAME
)->orderBy(Book::PRIMARY_KEY_COLUMN_NAME, 'desc');
}
Книга пользователя принадлежащий метод
public function user() : BelongsTo
{
return $this->belongsTo(User::class, self::USER_ID_COLUMN_NAME, User::PRIMARY_KEY_COLUMN_NAME);
}