【发布时间】:2020-05-06 08:29:48
【问题描述】:
我们有两个相互关联的表。
用户和预订。
枢纽模型 UserBooking 位于它们之间。
我们有一个函数可以检查 UserBooking 的当前记录中是否还有特定值。
这个函数应该在哪里? 在 user 模型中还是在 pivot 模型中?
如果这个函数从 UserBooking 返回一些东西,我猜它应该嵌套在那里。 我如何在 Laravel 中调用这个函数?
这是 Laravel 中常见的模式吗?最佳做法是什么?
【问题讨论】:
-
据我了解您的问题,您想要那些没有或有预订的用户?
-
并非如此。我想知道在运行查询时是否可以从数据透视模型运行特定函数。特别是当函数基于这种关系时。 User::with('booking')->pivot-> 来自枢轴模型的函数 类似这样的
-
不确定您的期望。如果你想从 pivot 中查询,那么你可以使用 wherePivot 函数laravel.com/docs/6.x/eloquent-relationships#many-to-many
-
如果你想扩展数据透视模型然后 class UserBooking 扩展 MorphPivot { // 一些函数 }
标签: laravel function design-patterns model relation