早上好
我目前有一个与3个表相关的表。
我想做“ belongsToMany”,但我不知道该如何处理3种关系
表格:
schools_series(关系)
周期
学校
系列
主要模型:
学校
班级学校扩展模型工具 { 使用PresentableTrait;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'network_id',
'fantasy_name',
'social_name',
'email',
'sim_web_code',
'state_registration',
'cnpj',
'status',
'start_date',
];
public function series()
{
return $this->belongsToMany(Serie::class, 'schools_series')->where('id_cycle', 'xxxx');
}
我需要能够根据循环中具有“活动”状态的“ cycle_id”来取出“学校系列”
示例SQL:
SELECT ss.* FROM schools as s
INNER JOIN schools_series as ss
ON ss.school_id = s.id
INNER JOIN cycle as c
ON ss.cycle_id = c.id AND c.active = 1
WHERE s.id = 115
答案 0 :(得分:1)
解决方案:
public function series()
{
return $this->belongsToMany(Serie::class, 'schools_series')->withPivot('cycle_id')->join('cycle', 'cycle.id', '=', 'schools_series.cycle_id')->where('cycle.active', '=', 1);
}