Laravel функций в моделях Pivot? - PullRequest
0 голосов
/ 20 января 2020

У нас есть две таблицы, которые связаны друг с другом.

Пользователь и Бронирование .

Сводная модель UserBooking сидит между ними.

У нас есть функция, которая проверяет, есть ли также значение c в текущей записи UserBooking .

Где должна быть эта функция? В модели user или в модели pivot ?

Если эта функция возвращает что-то из UserBooking , я думаю, она должна быть туда вложена. Как бы я назвал эту функцию в Laravel?

Это обычный шаблон в Laravel? Какая лучшая практика?

1 Ответ

0 голосов
/ 20 января 2020

Как и в предыдущем обсуждении. Если вы хотите расширить сводную модель, тогда

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']);
}

Примечание. Я использовал ее для приведения сводки и не использую ее для любой функции. Я думаю, это поможет вам.

...