我有两个表:Photos
和ProductPhotos
,其中ProductPhotos
是:
ProductPhotos
_______________
product_id | photo_id
Photos
是:
Photos
_______________
id | photo
这是否意味着ProductPhotos -> Photos
之间还是belongsTo
或hasOne
之间的关系?
因为photo_id
是外键,我想它是belogsTo
答案 0 :(得分:2)
belongsTo用于定义hasOne(一对一)和具有Many(一对多)关系的逆关系。不可能用外键分辨出这种关系。您需要在相关模型中定义关系。
就您而言,关系可以
您可以详细了解laravel文档Relationships
上的关系答案 1 :(得分:1)
我会与 照片->有一个->产品照片->属于->产品 产品->有很多->产品照片->属于->照片
这将允许使用Associate&Disassociate以及hasManyThrough关系
https://laravel.com/docs/5.5/eloquent-relationships#has-many-through
这还取决于您对产品图像的使用
希望这会有所帮助
答案 2 :(得分:-2)
在这种情况下,这意味着您有一个Products表,因此您的关系似乎是多对多的。
在两个表中使用:
belongsToMany
https://laravel.com/docs/5.7/eloquent-relationships#many-to-many