我正在尝试将产品图像插入名为product_images的子表中,但它一直试图在products表中找到列'path'。
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'path' in 'field list'
以下是我设置控制器/模型的方法。
产品型号
public function category()
{
return $this->belongsTo('App\Category');
}
public function images()
{
return $this->hasMany('App\ProductImage');
}
产品图片
public function product()
{
return $this->belongsTo('\App\Product');
}
产品控制器
$product = new Product(); $product->category_id = $request->category_id; $product->name = $request->name; $product->price = $request->price;
//upload image
if ($request->hasFile('image')) {
//validate
$this->validate($request, [
'image' => 'mimes:jpeg,bmp,png'
]);
$image = $request->image;
$filename = time() . '-' . $image->getClientOriginalExtension();
$path = public_path('img/products/' . $filename);
Image::make($image->getRealPath())->resize(468, 249)->save($path);
$product->path = 'img/products/' . $filename;
}
$product->images()->save($product);
答案 0 :(得分:0)
你应该使用
$product->images->path = 'img/products/' . $filename;
您可以使用push方法保存模型及其所有关系
$product->push();
答案 1 :(得分:0)
原来我需要这样做:$ image = new ProductImage();
然后$ product-> images() - > save($ image);