具有belongstomy和hassmany的多模型中的Laravel关系
我正在开发一个电子商务应用程序 我有三种型号<代码>产品,具有belongstomy和hassmany的多模型中的Laravel关系,laravel,eloquent,Laravel,Eloquent,我正在开发一个电子商务应用程序 我有三种型号产品,颜色,产品图像 产品和颜色之间的关系是:属于同一种颜色 如果您只需要productImages,您可以通过使用belongTomany。但是如果你需要颜色和产品图片,你可以通过点来实现 $product->load('colors.images'); UPD 阅读您的描述,在我看来,表图像应该有两个键产品标识和颜色标识。然后像这样做: public function images() { return $this->hasM
颜色
,产品图像
产品
和颜色
之间的关系是:属于同一种颜色
如果您只需要productImages,您可以通过使用belongTomany。但是如果你需要颜色和产品图片,你可以通过点来实现
$product->load('colors.images');
UPD
阅读您的描述,在我看来,表图像
应该有两个键产品标识
和颜色标识
。然后像这样做:
public function images()
{
return $this->hasMany(ProductImage::class);
}
public function current_image(int $color_id)
{
return $this->hasOne(ProductImage::class)->where('color_id', $color_id);
}
我还在从事一个电子商务项目,我的数据库设计如下。
一个产品有多种产品颜色,但一种产品颜色只属于一种产品。产品id和颜色一起构成产品颜色表的复合键(唯一)
如果您有一件id为101的产品T恤,其产品颜色为红色,那么101和红色一起是一种独特的产品颜色
Product_图像属于Product和Product_colors表。product_id和product_color_id是组合键。如果您有多个相同产品id和颜色的图像,则可以将图像保存为JSON数据。这是我申请的
虽然我已经像图01一样设计了我的数据库。但是如果我们想分离颜色表,那么我们可以这样设计数据库。
这是否回答了您的问题@谢谢你的回复。我一定会检查答案。更新的问题,如何设计产品图片
表?因为产品
有很多颜色
和颜色
有很多产品
,所以产品图片
表中将有多个颜色id
。那么,如何在没有产品id
或其他信息的情况下获得单个产品
相关图像?