Php 返回'where id=null'的雄辩关系上的toSql()`
我正在制作三维透视表 架构 我制作了以下表格和模型Php 返回'where id=null'的雄辩关系上的toSql()`,php,laravel,eloquent,pivot-table,Php,Laravel,Eloquent,Pivot Table,我正在制作三维透视表 架构 我制作了以下表格和模型 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
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
结果。这是我所期望的,因为当我将其转换为SQL()时,它显示以下查询-
从“计划”上的“计划”内部联接“课程计划注册学院”。“id”=“课程计划注册学院”。“计划id”中的“课程计划注册学院”。“学院id”为空
我无法理解为什么此查询试图在“课程\课程\注册\学院”的位置获取数据。“学院\ id”为null
RegisterCollege.php(模型)
编辑:-
雄辩的询问
{{ $college->programs()->toSql() }} // in some view.blade.php
请提供您进行雄辩提问的代码。我已经更新了问题,您是如何获得$college
var的?这是一个不存在的模型实例吗?我已经通过route将其传递给了我的view.blade.php。它包含特定学院的信息。我通过更改模型函数找到了问题的解决方案-return$this->belongomany('App\Program'、'course\Program\u register\u college'、'college\u id'、'Program\u id')->distinct('Program\u id')虽然我仍然不知道为什么在第一种情况下它会给出一个空结果。
{{ $college->programs()->toSql() }} // in some view.blade.php