我有两张桌子。
一个product
表和另一个product_image
表。产品可以有许多图像,产品图像只能有一个图像。
所以,
适用于ProductImage
型号
public function product()
{
return $this->belongsTo('App\Models\Product');
}
适用于product
型号
public function image()
{
return $this->hasMany('App\Models\ProductImage');
}
我使用迁移建立了外键关系。
现在我无法做的是
我正在尝试上传特定产品的图片。如何才能id
product
product_id
插入productImage
std::string test = "123456789";
std::vector<int> result(test.size());
std::transform(test.begin(), test.end(), result.begin(), [](char ch) { return ch - '0'; });
表?
答案 0 :(得分:1)
你在这里有 one-to-many 关系,你的模型之间的关系是真的,我只对image()
模型中的函数product
做了一个小评论这应该是pluriel images()
。
现在为了实现您首先要创建一个产品并开始将图像关联到它,所以像这样你不必担心product_id
,你只需要使用associate
将在子模型上设置外键的方法,请参见下面的示例:
//Creation of product
$product = Product::create(['Your attributes here']);
//Association of images
$product->images()->associate('Your image 1 here');
$product->images()->associate('Your image 2 here');
$product->images()->associate('Your image 3 here');
//To get the images associated with your product
$product->images();
希望这有帮助。
答案 1 :(得分:-1)
这不是确切的结果,但它可以帮助您了解如何获取最后插入的ID。例如:
<?php
$product = new Product; //create the object
$product->image= 'Your_image'; // image column
$product->save(); //store data
//Getting Last inserted id
$insertedId = $product->id;
?>