try catch を導入しても動かない
解決したいこと
新しいレコードを入れる際に、try cachを導入しようとしましたが、
リダイレクトされず登録ができない問題
環境
mac os
laravel 9
composer
laravel ui
public function registProduct($data){
DB::table('product')->insert([
'product_name' => $data->product_name,
'company_id' => $data->company_id,
'price' => $data->price,
'stock' => $data->stock,
'comment' => $data->comment,
'img_path' =>$data->file('img_path'),
]);
if($data->hasFile('img_path')){
$filename = $data->img_path->getClientOriginalName();
$filePath = $data->img_path->storeAs('products', $filename, 'public');
$product->img_path = '/storage/' . $filePath;
}
}
public function store(ProductRequest $request)
{
DB::beginTransaction();
try{
$products = new Product();
$products->registProduct($request);
DB::commit();
}catch(\Exception $e){
DB::rollback();
return back();
}
return redirect('products');
}
自分で試したこと
登録処理をモデルに移し、controllerにtry catchの処理を導入。
ネットでもtry catchの方法などを検索しましたが登録の方法がわからず・・・。
ヴァリデーションの処理が誤っている?のかもわからず、行き詰まってしまいました。
ご教授頂けますと幸いです