Красноречивое состояние дедушкиных отношений
В школе есть книги и ученики. Книга есть страницы.
Как я могу получить все страницы из всех книг, где school_id = 1
? Я попробовал код ниже, но я не работал.
Page::whereHas('book.school', function($query) {
$query->where('id', '=', 1);
})->get()->toJson();
Кроме того, что, если я хотел бы получить все страницы от book_id = 1
а также school_id = 1
? Мне нужно использовать school_id, чтобы проверить, принадлежит ли книга, которую мы получаем, к той же школе, что и зарегистрированный ученик.
1 ответ
Решение
Простой способ, предполагая Book belongsTo School
:
Page::whereHas('book', function($query) {
$query->where('school_id', '=', 1);
})->get();
полное решение:
Page::whereHas('book', function($q) {
$q->whereHas('school', function ($q) {
$q->where('id', '=', 1);
});
})->get();