トランザクション内に配置したLaravel 5.1アプリケーションにdelete文のセットがあります。Laravel 5.1トランザクションブロック内でリダイレクト
私は次のようなコードを持ち、同じページに戻そうとしていました。しかし、私はの空白ページを得ていました。私のroutes.phpは問題ありません。
DB::transaction(function() use ($foo, $bar, $request)
{
// Delete from table abc
$deletedFoo = DB::delete('delete from abc where id = ' . $foo);
// Delete from table xyz
$deletedBar = DB::delete('delete from xyz where id = ' . $bar);
// Shows blank page
$request->session()->flash('changes_saved', 'Success! All your changes were saved.');
return back();
});
しかし、私がDB :: transactionブロックの外に返品starementを置くとうまくいきます。
トランザクション外にリダイレクトする必要があることを知る前に、さまざまなことを試しました。しかし、なぜ?私はララベルには新しく、ちょっと混乱しています。
私はあなたの最初のスニペットを見れば、どのようにあなたのリターンを戻しますか? ....それはばかな質問であれば申し訳ありません。しかし、あなたがこれを好きなら、どのようにリダイレクトするのか分かりません。 – KalC
答えは非常に明確です。単に 'return'を' DB :: transaction() 'のような' DB :: transaction() 'の前に置いてください。 –
Worked!どうもありがとう。 – KalC