Я пытаюсь вставить изображение продукта в дочернюю таблицу с именем product_images, но он пытается найти столбец «путь» в таблице продуктов.Вставить в дочерний стол
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');
}
CONTROLLER ПРОДУКТ
$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);
Путь в таблице изображений, правильно? '$ product-> images-> path' – kotapeter
Вы устанавливаете' $ product-> path' во 2-й в последнюю строку, поэтому он пытается сохранить столбец «путь» в таблице «продукты» – andrewtweber