Php 根据两个ID选择记录

Php 根据两个ID选择记录,php,laravel,Php,Laravel,这有点复杂,但不管怎样。。 好的,我有四张桌子 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 pr

这有点复杂,但不管怎样。。 好的,我有四张桌子

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服务器查询,根本没有查询(执行)。 我真的需要它来传递一个参数 更多信息:
使用Print\r时,似乎不带()返回集合对象,带着它返回belongTomany对象。

回答您的问题,是的。有人真的会为你写下所有的代码并放在这里吗?可能不会。如果您对使用ORM感兴趣,我相信会有一些高质量的ORM,以及您可以阅读和使用的文档


ORM不过是一种处理数据库的面向对象方法。不要像对待表那样对待表,而是像对待对象那样对待表,从而对其进行操作,从而增强代码重用和代码交互的能力。然而,使用ORM的代价通常是开销。这就是为什么许多小项目不使用它的原因——它们需要的东西太多了。

我已经知道,我使用了雄辩,我只是想知道是否有人会提供一些提示。不管怎样,我都成功了