Eloquent 插入到子表中

Eloquent 插入到子表中,eloquent,laravel-5.1,Eloquent,Laravel 5.1,我试图将一个产品的图像插入到一个名为product_images的子表中,但它一直试图在products表中找到“path”列 SQLSTATE[42S22]: Column not found: 1054 Unknown column 'path' in 'field list' 下面是我如何设置控制器/模型的 产品模型 公共功能类别() { 返回$this->belongsTo('App\Category'); } 公共功能图像() { 返回$this->hasMany('App\Prod

我试图将一个产品的图像插入到一个名为product_images的子表中,但它一直试图在products表中找到“path”列

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'path' in 'field list'
下面是我如何设置控制器/模型的

产品模型

公共功能类别()
{
返回$this->belongsTo('App\Category');
}
公共功能图像()
{
返回$this->hasMany('App\ProductImage');
}
产品形象

公共功能产品()
{
返回$this->belongsTo('\App\Product');
}
产品控制器

$product=新产品()$产品->类别id=$request->类别id$产品->名称=$request->名称$产品->价格=$request->价格;
//上传图像
如果($request->hasFile('image')){
//证实
$this->validate$请求[
'image'=>'mimes:jpeg、bmp、png'
]);
$image=$request->image;
$filename=time().-。$image->getClientOriginalExtension();
$path=public_path('img/products/'。$filename);
Image::make($Image->getRealPath())->调整大小(468249)->保存($path);
$product->path='img/products/'。$filename;
}
$product->images()->保存($product);
您应该使用

$product->images->path = 'img/products/' . $filename;
可以使用push方法保存模型及其所有关系

$product->push();
你应该使用

$product->images->path = 'img/products/' . $filename;
可以使用push方法保存模型及其所有关系

$product->push();

原来我需要这样做:$image=newproductimage()


然后$product->images()->save($image)

结果证明我需要这样做:$image=newproductimage()


然后$product->images()->save($image)

路径在图像表中,对吗
$product->images->path
您在倒数第二行中设置了
$product->path
,这就是它试图保存“products”表上的“path”列的原因路径在image表中,对吗<代码>$product->images->path您正在第二行到最后一行设置
$product->path
,这就是它试图在“产品”表HI上保存“路径”列的原因。我尝试了这个,但它没有插入到数据库中。图像已保存并添加了产品,但推送方法未插入到product_images表中。看起来product和images表之间存在多对多关系。如果是这种情况,则需要按照此处的说明设置模型。哦,我明白了。我想我已经把它设置成一对多了?如果我不想要透视表呢?但是只要有一个子表引用列名为product_idHi的父表即可。我尝试了这个,但它没有插入到数据库中。图像已保存并添加了产品,但推送方法未插入到product_images表中。看起来product和images表之间存在多对多关系。如果是这种情况,则需要按照此处的说明设置模型。哦,我明白了。我想我已经把它设置成一对多了?如果我不想要透视表呢?但是只要有一个子表引用列名称为product_id的父表即可