0
私はLaravel 5.3を使ってデモクラードを作成しようとしています。私は更新プログラムを処理するコントローラのメソッドを書いた。このメソッドは常にトランザクションを開始し、常に変更をロールバックする必要があります。したがって、変更は決してデータベースに反映されません。私の方法はLaravel 5.3でトランザクションをロールバックする方法は?
public function update($id, Request $request)
{
DB::beginTransaction();
$this->affirm($request);
$biography = Biography::findOrFail($id);
$data = $request->all();
$biography->update($data);
Session::flash('success_message', 'Biography was updated! However, because this is a demo the records are not persisted to the database.');
DB::rollBack();
return redirect()->route('demo.index');
}
残念ながら、更新はまだたびにコミットしますどのように見えるかをここで
です。トランザクションを正しく開始してから、変更をロールバックするにはどうすればよいですか?
あなたがコミットした後にロールバックすることができませんか?私はあなたがdbからのデータを取得していると雄弁なクエリを使用して更新されて参照してください。 – PaladiN
私はコミットしたくありません。私はロールバックしたい。私はトランザクションを開始し、それをロールバックすることを期待しています – Jaylen
私は試して、コードが期待どおりに動作していることがわかりました。あなたの成果は何ですか? – PaladiN