Level 102
Show some code please :)
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
The session flash messages get lost if the controller have try catchs . why?
Example, this works fine:
public function store(ModelRequest $request) {
$v = $request->validated();
$model = new Model();
$model->xxx = $v['xxx'];
$model->yyy = $v['yyy'];
$model->zzz = $v['zzz'];
$model->user()->associate(Auth::user());
$model->save();
$flash_msg = []; // flash messages
$message = "Model #{$model->id} loaded!";
$msg = [
'class' => 'success',
'title' => "Model subsystem",
'message' => $message
];
$flash_msg [] = $msg;
Session::flash('flash_msg', $flash_msg);
return redirect("/model");
}
This don't:
public function store(ModelRequest $request) {
$v = $request->validated();
$flash_msg = []; // flash messages
DB::statement("SET autocommit=0;");
DB::beginTransaction();
try{
// other db stuff
// ...
//
$model = new Model();
$model->xxx = $v['xxx'];
$model->yyy = $v['yyy'];
$model->zzz = $v['zzz'];
$model->user()->associate(Auth::user());
$model->save();
DB::commit();
} catch(\Throwable $e) {
DB::rollBack();
$message = "ERROR ({$e->getCode()}): '{$e->getMessage()}'";
$msg = [
'class' => 'danger',
'title' => "Model subsystem",
'message' => $message
];
$flash_msg [] = $msg;
Session::flash('flash_msg', $flash_msg);
return redirect("/model");
}
$message = "Model #{$model->id} loaded!";
$msg = [
'class' => 'success',
'title' => "Model subsystem",
'message' => $message
];
$flash_msg [] = $msg;
Session::flash('flash_msg', $flash_msg);
return redirect("/model");
why?
Please or to participate in this conversation.