我正在尝试连接两个表(产品表和图像表),因此在产品表中每个产品都有多个图像(存储在名为image的行中),因此我想在{{1}中显示每个产品的图像}。在图像表中,我在产品表上有一个名为images table
的引用(id)的外键,问题是它不能在图像表中存储图像,(它一直将图像存储在产品表的行(图像)中) 。我该如何解决?
代码
Product.php
product_id
Image.php
public function images()
{
return $this->hasMany('App\Image', 'product_id');
}
控制器
public function product()
{
return $this->belongsTo('App\Product','product_id');
}
将提供任何帮助。
答案 0 :(得分:1)
如果您试图将图像保存到图像表中,而是“它一直将图像存储在产品表中的行(图像)中”,那么您将保存错误的项目。您似乎具有正确的结构-模型中有一对多的结构。只需保存图片而不是产品
类似的将解决此问题:
Image::create(['whateverYouNeedToSave',
'product_id'=>$product_id, <-- Connect the product here, within the image
'etc']);
实际上可以通过创建产品,然后将图像保存为关系来实现,但这可能不是构造此过程的最干净/最简单的方法-建议您先保存图片,因为其中有很多,而一次只能保存一个产品。然后,在此方法奏效且清晰/舒适之后,如果需要,您可以尝试更“高级”的方法。