枢轴模型中的Laravel函数?

枢轴模型中的Laravel函数?,laravel,function,design-patterns,model,relation,Laravel,Function,Design Patterns,Model,Relation,我们有两张相互关联的桌子 用户和预订 pivot模型UserBooking位于它们之间 我们有一个函数,用于检查当前记录的用户预订中是否也有特定值 这个函数应该在哪里? 在用户模型中还是在枢轴模型中 如果这个函数从UserBooking返回一些东西,我想它应该嵌套在那里。 在Laravel中如何调用此函数 这是拉威尔的常见模式吗?最佳实践是什么?如前所述,如果要扩展pivot模型 use Illuminate\Database\Eloquent\Relations\MorphPivot; cla

我们有两张相互关联的桌子

用户预订

pivot模型UserBooking位于它们之间

我们有一个函数,用于检查当前记录的用户预订中是否也有特定值

这个函数应该在哪里? 在用户模型中还是在枢轴模型中

如果这个函数从UserBooking返回一些东西,我想它应该嵌套在那里。 在Laravel中如何调用此函数


这是拉威尔的常见模式吗?最佳实践是什么?

如前所述,如果要扩展pivot模型

use Illuminate\Database\Eloquent\Relations\MorphPivot;
class UserBooking extends MorphPivot
{
   // some functions
}
在关系上

public function bookings()
{
   return $this->morphToMany(Booking::class, 'user_booking')->using(UserBooking::class)->withPivot(['booking', 'user', 'data']);
}

注意:我将其用于枢轴铸造,但我不将其用于任何功能。我想这会对你有帮助。

我理解你的问题,你想要的是那些没有预订或没有预订的用户?不是真的。我想知道在运行查询时是否可以从pivot模型运行特定函数。尤其是当函数基于此关系时。用户::with('booking')->pivot->pivot模型中的函数类似于这样的东西不确定您的期望。如果您想从pivot查询,那么您可以使用wherePivot函数如果您想扩展pivot模型,那么类UserBooking将扩展MorphPivot{//some functions}