0
我有3个模型Tracktype,曲目和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。我有Tracktype表和Subgeneres表以及相关的数据透视表
我已经多次阅读文档,并做了一些Google搜索,但没有运气。如果任何人可以指出我如何定义这些关系并解释一点点,这将是很多的帮助:)