This article is about how to show edit success message in Laravel-web based application framework. The message itself is called an edit success message because it is actually a message presented upon the successful process of editing a value of a field or a column. For an example, if there is a process for editing submitted from an edit form to a controller as shown in the route definition below in a file named web.php located in the folder named ‘routes’ normally there in a Laravel version 5.3 above :
Route::post('/technology-category/update/{id_technology}','TechnologyCategoryController@update');
It is where the edit success message is going to be printed. First of all, let’s take a look at the edit form :
<div id="container"> <div id="row"> {{ Form::open(['url' => ['/technology-category/update', $data->id], 'class' => 'form-horizontal', 'method' => 'POST']) }} <div class="form-group full-width-chart"> <label class="col-md-2 control-label">Category</label> <div class="col-md-4"> <input type="text" class="form-control" placeholder="Category" name="cat_id" value="{{ $data->cat_id }}"/> <span class="text-danger" id="name" /> </div> </div> <div class="form-group full-width-chart"> <label class="col-md-2 control-label">Nama</label> <div class="col-md-4"> <input type="text" class="form-control" placeholder="Technology" name="name" value="{{ $data->name }}"/> <span class="text-danger" id="name" /> </div> </div> <div class="form-group full-width-chart"> <div class="col-md-4 col-md-offset-2"> <input type="submit" class="btn btn-default" value="Submit"> <input type="submit" class="btn btn-default" value="Cancel"> </div </div> {{ Form::close() }} </div> </div>
It will be submitted and processed further to a method named ‘update’ located in a controller file named ‘TechnologyCategoryController’. The method named ‘update’ is shown in the following :
public function update($id_technology) { $technology = TechnologyCategory::find($id_technology); $cat_id = Input::get('cat_id'); $name = Input::get('name'); $input = Input::all(); DB::table('technology_category')->where('id',$id_technology)->update(array('cat_id'=>$cat_id,'name'=>$name)); return redirect('/technology-category') ->with('success', 'Technology Category updated successfully'); }
As shown in the above snippet code, it is redirected to an URL of ‘/technology-category’. It is actually forwarded to the main URL of the module which is shown in the route file named web.php in the following line :
Route::get('/technology-category','TechnologyCategoryController@index');
And in the index method of TechnologyCategoryController file, it is actually displaying an index.blade.php file as shown in the following snippet code :
public function index(Request $request) { $list_technology = TechnologyCategory::orderBy('id', 'DESC')->paginate(5); return view('technology-category.index', compact('list_technology')) ->with('i', ($request->input('page', 1) - 1) * 5); }
But the important part of the line of code which is actually defining
@if ($message = Session::get('success')) <div class="alert alert-success"> <p>{{ $message }}</p> </div> @endif
So, the success is a variable passed from the previous method processing the update or the edit process. It is shown in the following line of code :
return redirect('/technology-category') ->with('success', 'Technology Category updated successfully');
So, the line ‘<p>{{ $message }}</p>’ will be automatically replaced with ‘Technology Category updated successfully’.
One thought on “How to Show Edit Success Message in Laravel”