这有点复杂,但无论如何...... 好的,我有四张桌子
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
更糟糕的是没有错误msg弹出并监视我的Mysql Server查询,这根本没有被查询(执行)。 我真的需要传递一个参数 更多信息 : 使用Print_r,似乎没有()它返回Collection对象,它返回BelongsToMany对象。
答案 0 :(得分:0)
回答你的问题,是的。有人会为你实际编写所有代码并将其放在这里吗?可能不是。如果您对使用ORM感兴趣,我确信那里有一些优质的ORM,您可以阅读和使用这些文档。
ORM只不过是一种面向对象的方法来处理数据库。您不必像对象一样处理表,而是将表视为对象,因此对其进行操作,从而提供代码重用和代码相互作用的强大功能。但是,使用ORM的权衡通常是开销。这就是为什么许多小项目不使用它 - 太多了他们需要的东西。