2015-12-22 3 views
0

У меня есть 3 модели Tracktype, Tracks и Subgenres. Связь такова. У Tracktype есть много треков, и трек может иметь много поджанров. но дорожка может иметь только типЯркая загрузка двух столов с несколькими Realtionships в laravel 5

один трек я уже определенный отношения как эти

/** 
* Gets the tracks lists Associated with a track type 
* 
* @return \Illuminate\Database\Eloquent\Relations\hasMany 
*/ 
public function tracks() 
{ 
    return $this->hasMany('App\Tracks', 'id', 'id'); 
} 


/** 
* Get the Lists of tracks Associated with the Subgenre ID 
* 
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany 
*/ 
public function tracks() 
{ 
    return $this->belongsToMany('App\Tracks', 'subgenre_track', 'subgenre_id', 'track_id'); 
} 

я пытался что-то вроде этого.

App\TrackType::with(['tracks.subgeneres' => function ($query) { 
    $query->where('name', 'Trans'); 
}])->where('name', 'Single')->get(); 

Но его не возвращает правильные результаты

Array 
(
    [0] => Array 
     (
      [query] => select * from `tracktype` where `name` = ? 
      [bindings] => Array 
       (
        [0] => Single 
       ) 

     [time] => 0.55 
    ) 

[1] => Array 
    (
     [query] => select * from `tracks` where `tracks`.`id` in (?) 
     [bindings] => Array 
      (
       [0] => 1 
      ) 

     [time] => 0.45 
    ) 
) 

Моя потребность, чтобы получить все треки, которые соответствующие Tracktype однократных и Subgeneres соответствие Trans. У меня есть таблица Tracktype и таблица Subgeneres вместе с соответствующими сводными таблицами

Я прочитал документы много раз и сделал некоторые поисковые запросы, но не повезло. если кто-нибудь может указать мне, как определить эти отношения и объяснить немного, это будет полезно много :)

ответ

0

Исправлена ​​ошибка с помощью метода изменения в Tracktype из hasMany, принадлежащего ToMany. И это было. Используется тот же запрос :)

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