トランザクションを使用して新しい\ Exception( 'Error')をスローすると、私がエラーが発生したときに、下のコードから新しい{Exception( 'Error');}を実行し、if($ errors)が機能しない場合はトランザクションを使用して新しい Exception( 'Error')をスローした後、どのようにリダイレクトできますか?
はいずれもnew \ Exceptionをスローした後にリダイレクトされます)?
$errors = false;
DB::transaction(function() use ($count,$request,$a,$errors) {
for ($i=0; $i < $count; $i++) {
$warehouse_products_sell = New Warehouse_products_sell;
$id_w = $request->input('idw');
$id_c = $request->get('id_c')[$i];
$id_p = $request->get('id_p')[$i];
$qty = $request->input('quantity_box')[$i];
$price = $request->input('price')[$i];
$available = $this->check_stock($id_w, $id_p, $qty);
if($available > 0){
$warehouse_products_sell->save();
}else{
echo "error";
$errors = true;
throw new \Exception('Error');
}
}
});
if ($errors) {
return redirect('URL');
}else{
return 'x';
}
キャッチは、それが、その後... RTM http://php.net/manual/en/internals2。 opcodes.catch.php –
@LawrenceCherone私はキャッチしようとしますが、もし私が3つの正しいデータと1つの間違ったデータを持っているなら、3つのデータを保存します。 – user8663822
その後、catchセクションでbreakを使用します。 –