Есть или принадлежит в Laravel? - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть две таблицы: Photos и ProductPhotos, где ProductPhotos:

ProductPhotos
_______________
product_id | photo_id

И Photos:

Photos
_______________
id | photo

Означает ли это отношениемежду ProductPhotos -> Photos как belongsTo или hasOne еще?

Причина photo_id - это внешний ключ, я думаю, это belogsTo

Ответы [ 3 ]

0 голосов
/ 16 ноября 2018

Я бы установил отношения с фотографиями-> hasOne-> ProductPhotos-> ownTo-> Products Products-> hasMany-> ProductPhotos-> ownTo-> Photos

Это позволит использовать Associate& Разъединить, а также отношения hasManyThrough

https://laravel.com/docs/5.5/eloquent-relationships#has-many-through

Это также будет зависеть от того, как вы используете изображения продуктов

Надеюсь, это поможет

0 голосов
/ 16 ноября 2018

принадлежность используется для определения обратной связи как hasOne (один к одному), так и отношения многих (один ко многим).Было бы невозможно рассказать о связи с внешним ключом.Вам необходимо определить отношения в соответствующей модели.

В вашем случае отношения могут быть

  1. ProductPhotos относится к продуктам
  2. Продукты могут иметь hasOne или hasMany отношения с productPhotos,Зависит от отношений, определенных в модели продукта

Вы можете иметь подробное понимание отношений на документах Laravel Отношения

0 голосов
/ 16 ноября 2018

В этом сценарии подразумевается, что у вас есть таблица «Продукты», поэтому ваши отношения кажутся от многих ко многим.

Используйте в обеих таблицах:

belongsToMany

https://laravel.com/docs/5.7/eloquent-relationships#many-to-many

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...