Почему картинка не сохраняется в другой таблице? У меня связь многие ко многим. Товар сохраняется , а картинки не сохраняется в базе. В папку на сайте тоже картинки не сохраняются
public function create(Request $request)
{
$categories = Category::whereNull('category_id')->with('childrenCategories')->get();
return view('product.create', compact('categories' ));
}
public function store(Request $request)
{
// dd('stop');
$this->validate($request, [
'title' => 'required',
'slug' => 'required|unique:products',
'text' => 'required',
'path' => 'nullable|image',
]);
$product = new Product();
$product->title = $request->input('title');
$product->slug = $request->input('slug');
$product->text = $request->input('text');
$product->keywords = $request->input('keywords');
$product->description = $request->input('description');
$product->published = $request->input('published');
$product->category_id = $request->input('category_id');
// $product->product_id = $request->input('product_id');
$product->price = $request->input('price');
$product->authorized_price = $request->input('authorized_price');
// $product->path = $request->input('path');
$product->short_description = $request->input('short_description');
$product->save();
// dd('stop');
$path =public_path().'uploads/product_images';
$file = $request->file('file');
// dd($path);
foreach ($file as $f) {
$filename = str_random(20) .'.' . $f->getClientOriginalExtension() ?: 'png';
$img = ImageInt::make($f);
$img->resize(500,500)->save($path . $filename);
Image::create(['title' => $request->title, 'path' => $filename]);
}
return redirect('/product/create')->with('info', 'Данные сохранены');
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
public function category()
{
return $this->belongsTo(Category::class);
}
public function images()
{
return $this->hasMany(Image::class);
}
}
ErrorException
Invalid argument supplied for foreach()
http://bossphp.x:8080/products/product/store
Сейчас такая ошибка появилась
public function store(Request $request)
{
// dd('stop');
$this->validate($request, [
'title' => 'required',
'slug' => 'required|unique:products',
'text' => 'required',
'path' => 'nullable|image',
]);
$product = new Product();
$product->title = $request->input('title');
$product->slug = $request->input('slug');
$product->text = $request->input('text');
$product->keywords = $request->input('keywords');
$product->description = $request->input('description');
$product->published = $request->input('published');
$product->category_id = $request->input('category_id');
// $product->product_id = $request->input('product_id');
$product->price = $request->input('price');
$product->authorized_price = $request->input('authorized_price');
$product->short_description = $request->input('short_description');
$product->save();
// dd('stop');
$image = new Image();
$path =public_path().'uploads/product_images';
$file = $request->file('file');
// dd($path);
foreach ($file as $f) {
$filename = str_random(20) .'.' . $f->getClientOriginalExtension() ?: 'png';
$img = ImageInt::make($f);
$img->resize(500,500)->save($path . $filename);
Image::create(['title' => $request->title, 'path' => $filename]);
}
$image->path = $request->input('path');
$image->save();
return redirect('/product/create')->with('info', 'Данные сохранены');
}
Добавил новый объект в метод . Ошибка пропала, но картинка не сохраняется. Как найти причину не сохранения картинки?
здесь остановился код
$path =public_path().'uploads/product_images';
$image = new Image();
// dd('stop');
$path =public_path().'uploads/product_images';
dd('stop');
$file = $request->file('file');
// dd($path);
foreach ($file as $f) {
// dd($path);
$filename = str_random(20) .'.' . $f->getClientOriginalExtension() ?: 'png';
// dd($path);
$img = ImageInt::make($f);
// dd($path);
$img->resize(500,500)->save($path . $filename);
// dd($path);
Image::create(['title' => $request->title, 'path' => $filename]);
// dd($path);
}
// dd($path);
$image->path = $request->input('path');
// dd($path);
$image->save();