Laravel сложные отношения многие ко многим

#laravel-5 #many-to-many #relationship

Вопрос:

Я создаю приложение в laravel, и теперь я создаю платежный ресурс.

Ideia-это выбор нескольких заказов в списке для получения в одно и то же время. И в этом случае могут использоваться многие виды платежей (деньги, кредит).

Теперь у меня есть этот порядок таблиц(идентификатор, итог), типы платежей(идентификатор, имя платежа), платежи(идентификатор, идентификатор типа платежа, значение) и платежи по заказам(идентификатор заказа, идентификатор платежа).

Эта структура более адекватна данной ситуации? И как я могу получать заказы со всеми платежами и другими заказами, оплаченными вместе?

Любая помощь важна.

Спасибо всем .

Ответ №1:

Вы Можете Создавать Вот Так .Это Может Помочь Вам Сначала Создать Типовые Отношения По Порядку

 public function order_payments(): HasMany {  return $this-gt;hasMany(OrderPayments::class, 'order_id', 'id')-gt;with('payment'); }  

Затем Перейдите В Модель «Оплата Заказов» И Создайте Связь С Именем «оплата». Эта Связь Соединена С Таблицей Платежей

 public function payments(): BelongsTo {  return $this-gt;belongsTo(Payments::class, 'id', 'payment_id'); }  

Затем Перейдите В Модель «Платежи» И Создайте Связь С Именем «payment_type». Эта Связь Связана С Таблицей Типов Платежей

 public function payment_type(): BelongsTo {  return $this-gt;belongsTo(PaymentType::class, 'id', 'payment_type_id'); }