Laravel 除了私人关系以外的一切
我想得到所有的行,这与Laravel上的Laravel 除了私人关系以外的一切,laravel,many-to-many,relationship,Laravel,Many To Many,Relationship,我想得到所有的行,这与Laravel上的belongTomany关系相反 例如,有事件表和访问表。如果用户访问了某个事件,则pivot事件访问时访问的表标记为1 我想让所有那些未被访问的活动 例如,用户模型: public function userVisitedEvents() { return $this->belongsToMany(Visits::class, 'event_visit') ->where('visited', '=', '1'); }
belongTomany
关系相反
例如,有事件
表和访问
表。如果用户访问了某个事件,则pivot事件访问时访问的表标记为1
我想让所有那些未被访问的活动
例如,用户模型:
public function userVisitedEvents()
{
return $this->belongsToMany(Visits::class, 'event_visit')
->where('visited', '=', '1');
}//end userVisitedEvents()
这将选择所有已访问的事件
我想要实现的目标:我需要得到相反的,得到所有事件,即:
标记为已访问0
此访问根本不存储(没有关系)
这是因为belongtomany
关系是使用内部联接创建的。如果使用左连接创建它
-没有问题
PS-->其中('visted','1')代码>将不起作用,因为它将只查找(1)个案例,而不是所有事件
也许有机会告诉你该使用哪个连接?
或者,唯一的选择是手动使用查询生成器?您正在寻找“关系缺失”
您可能需要根据您的环境进行调整。如果你不能使用它,也检查一下
Event::whereDoesntHave(...); //takes a closure.
来源:您正在寻找“关系缺失”
您可能需要根据您的环境进行调整。如果你不能使用它,也检查一下
Event::whereDoesntHave(...); //takes a closure.
来源:用户不必担心获取所有未访问的事件。您需要提供,使用访问模型中的查询范围可能不太好的解决方案是,选择并保存id,然后执行另一个操作(从访问中获取事件),用户不必担心获取所有未访问的事件。您需要提供的是,使用访问模型中的查询范围可能不太好的解决方案是这样做:选择并保存id,然后执行另一个操作,执行oposite(从访问中获取事件),这似乎是我在文档中遗漏的。看起来很有效。我要试试这个,我会给你一个报告,进展如何!似乎我在文档中遗漏了这个。看起来很有效。我要试试这个,我会给你一个报告,进展如何!