2016-09-07 3 views
0

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?

+0

Es ist wahrscheinlich fügen Sie 'withPivot' der Beziehung Methode im' Sport' Modell. –

+1

Nicht verwandt: Verwenden Sie nicht "wo" zweimal, übergeben Sie eine Reihe von Bedingungen statt https://laravel.com/docs/5.2/queries#where-clauses – Anas

+0

@ FilipKoblański Nö, das habe ich nicht getan. –

Antwort

1

Sie können Pivot Daten in die Liste der versteckt Attribute des Modells durch fügte hinzu, dass:

class SportLevel extends Model { 
    protected $hidden = [ 
    'pivot' 
    ]; 
} 
+0

vielen Dank –

Verwandte Themen