Ich verwende "eagerloading", um viele oder viele Beziehungsdaten abzurufen. Hier ist mein Codelaravel zeigt Pivot-Tabellendaten auch bei Verwendung von "equireloading" an
$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();
und das Ergebnis ist
[{"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}}]}]
die auch die Pivot-Tabelle zeigt, wie ich dies zu verbergen?
Es ist wahrscheinlich fügen Sie 'withPivot' der Beziehung Methode im' Sport' Modell. –
Nicht verwandt: Verwenden Sie nicht "wo" zweimal, übergeben Sie eine Reihe von Bedingungen statt https://laravel.com/docs/5.2/queries#where-clauses – Anas
@ FilipKoblański Nö, das habe ich nicht getan. –