Я использую eagerloading для извлечения многих из многих данных отношений. Вот мой кодlaravel показывает данные сводной таблицы также при использовании eagerloading
$sport = Sport::with([
'sport_levels' => function($q) use ($sportId, $schoolId){
$q->select('levels-sports.id', 'sport_id', 'name')->where('sport_id', $sportId)->
where('school_id', $schoolId)->get();
}
])
->select('id', 'season_id', 'id as sport_id', 'name as sport_name', 'photo as sport_photo', 'record as sport_record')
->where('school_id', $schoolId)->where('id', $sportId)->get();
и результат
[{"id":1,"season_id":2,"sport_id":1,"sport_name":"Football","sport_photo":"2479.png","sport_record":"Ggqfx","sport_levels":[{"id":1,"sport_id":1,"name":"Expert","pivot":{"sport_id":1,"level_id":1}}]}]
, который также показывает сводную таблицу, как я могу это скрыть?
Это, вероятно, вы добавите 'withPivot' методу отношения в модели' Sport'. –
Не относится: не используйте «где» дважды, передайте массив условий вместо https://laravel.com/docs/5.2/queries#where-clauses – Anas
@ FilipKoblański nope, я этого не делал. –