我正在处理3维数据透视表
建筑
我制作了以下表格和模型。
register_colleges( model: RegisterCollege )
- college_id
- random field
programs ( model: Program )
- id
- program_name
courses ( model: Course )
- id
- course_name
course_program_register_college
- course_id
- program_id
- college_id
现在我面临的问题是,当我尝试访问null
(例如)时,我的视图显示了program_name
的结果。这是我所期望的,因为当我将其转换为Sql()时,它显示以下查询-
从'程序'的内部程序'course_program_register_college'中选择*。'id'='course_program_register_college'。'program_id'其中'course_program_register_college'。'college_id'为空
我无法弄清楚为什么这个查询试图获取数据where 'course_program_register_college'.'college_id' is null
。
RegisterCollege.php(模型)
// pivot table is looking for register_college_id as a primary key field
protected $primarykey = 'college_id';
public function programs(){
return $this->belongsToMany('App\Program',
'course_program_register_college', 'college_id');
}
编辑:-
口才查询
{{ $college->programs()->toSql() }} // in some view.blade.php