У меня есть 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 вместе с соответствующими сводными таблицами
Я прочитал документы много раз и сделал некоторые поисковые запросы, но не повезло. если кто-нибудь может указать мне, как определить эти отношения и объяснить немного, это будет полезно много :)