在数据库中插入外键数据
Insert foreign key data in database
我有两个table。
一个product
table和另一个product_image
table。一个产品可以有很多张图片,一个产品的图片只能有一张图片。
所以,
对于ProductImage
型号
public function product()
{
return $this->belongsTo('App\Models\Product');
}
对于product
型号
public function image()
{
return $this->hasMany('App\Models\ProductImage');
}
我已经使用迁移建立了外键关系。
现在我做不到的是
我正在尝试上传特定产品的图片。我怎样才能让 product
的 id
插入到 productImage
table 的 product_id
中?
这不是准确的结果,但可以帮助您了解如何获取最后插入的 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;
?>
你这里有 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();
希望对您有所帮助。
我有两个table。
一个product
table和另一个product_image
table。一个产品可以有很多张图片,一个产品的图片只能有一张图片。
所以,
对于ProductImage
型号
public function product()
{
return $this->belongsTo('App\Models\Product');
}
对于product
型号
public function image()
{
return $this->hasMany('App\Models\ProductImage');
}
我已经使用迁移建立了外键关系。
现在我做不到的是
我正在尝试上传特定产品的图片。我怎样才能让 product
的 id
插入到 productImage
table 的 product_id
中?
这不是准确的结果,但可以帮助您了解如何获取最后插入的 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;
?>
你这里有 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();
希望对您有所帮助。