2016-09-07 3 views
0

Я использую 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}}]}] 

, который также показывает сводную таблицу, как я могу это скрыть?

+0

Это, вероятно, вы добавите 'withPivot' методу отношения в модели' Sport'. –

+1

Не относится: не используйте «где» дважды, передайте массив условий вместо https://laravel.com/docs/5.2/queries#where-clauses – Anas

+0

@ FilipKoblański nope, я этого не делал. –

ответ

1

Вы можете добавить Pivot данные, добавив, что в список скрытых атрибутов модели:

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

Большое вам спасибо –

Смежные вопросы