这有点复杂,但无论如何......好吧,我有四个表
1-Projects
id | int 11
name
2-Sections
id | int 11
project_id | int 11
name
3-Users
id | int 11
4-User_Section_project (this table is used to assign users to sections they will work on in the project
id | int 11
project_id | int 11
section_id | int 11
user_id | int 11
无论如何使用ORM来制作类似的东西,我只得到分配的部分
$sections = $user->projects()->sections()
我在我的用户模型中使用以下代码完成了它
public function workshops()
{
return $this->belongsToMany('section', 'user_project_section', 'user_id', 'section_id')->whereIn('user_project_section.project_id', array(1,2,3));
}
我这样称呼它
@foreach ( $user->sections as $section)
{{$section->name}}
@endforeach
此代码将为项目 1、2、3 中的用户获取相关的部分。如果我想为指定的项目制作它,我传递一个参数问题是在视图中将括号()添加到函数的调用时它不起作用,所以我无法传递参数
@foreach ( $user->sections() as $section)
{{$section->name}}
@endforeach
更糟糕的是,没有弹出错误消息并监控我的 Mysql Server Queries ,这根本没有被查询(执行)。我真的需要传递参数更多信息:使用 Print_r 似乎没有 () 它返回 Collection Object ,它返回 BelongsToMany 对象。