Save method won't update models that already exist in the DB
<p>I retrieve properly the records in my DB and print out the values in textfield. But when I want to update my database it won't work. It says in the documentation that </p>

<blockquote>
  <p><code>save()</code> method may also be used to update models that already exist
  in the database. To update a model, you should retrieve it.</p>
</blockquote>

<p>So I have two blade template <strong>show</strong> and <strong>edit</strong>. First blade show the value exist in the database (GET REQUEST). Second blade show the edit form for the user to update data. (POST REQUEST).</p>

<p>show.blade.php</p>

<pre><code>&lt;form class = "form-vertical" role = "form" method = "post" action = "{{ route ('account.show', $result-&gt;id) }}"&gt;

&lt;h3&gt;View Employee&lt;/h3&gt;
&lt;hr&gt;

&lt;div class = "form-group"&gt;

    &lt;label for = "email" class = "control-label"&gt;Email Address&lt;/label&gt;
    &lt;input type = "text" name = "email" class = "form-control" placeholder = "{{ $result-&gt;email }}" readonly&gt;

&lt;/div&gt;

&lt;div class = "form-group"&gt;

    &lt;label for = "username" class = "control-label"&gt;Username&lt;/label&gt;
    &lt;input type = "text" name = "username" class = "form-control" placeholder = "{{ $result-&gt;username }}" readonly&gt;

&lt;/div&gt;

&lt;input type = "hidden" name = "_token" value = "{{ Session::token() }}"&gt;

&lt;/form&gt;
</code></pre>

<p>edit.blade.php</p>

<pre><code>&lt;form class = "form-vertical" role = "form" method = "post" action = "{{ route ('account.edit', $result-&gt;id) }}"&gt;

&lt;h3&gt;Edit Employee&lt;/h3&gt;
&lt;hr&gt;

&lt;div class = "form-group"&gt;

    &lt;label for = "email" class = "control-label"&gt;Email Address&lt;/label&gt;
    &lt;input type = "text" name = "email" class = "form-control" value = "{{ $result-&gt;email }}"&gt;

&lt;/div&gt;

&lt;div class = "form-group"&gt;

    &lt;label for = "username" class = "control-label"&gt;Username&lt;/label&gt;
    &lt;input type = "text" name = "username" class = "form-control" value = "{{ $result-&gt;username }}"&gt;

&lt;/div&gt;

&lt;div class = "form-group"&gt;

    &lt;button type = "submit" class = "btn btn-success"&gt;Save&lt;/button&gt;

&lt;/div&gt;

&lt;input type = "hidden" name = "_token" value = "{{ Session::token() }}"&gt;

&lt;/form&gt;
</code></pre>

<p>Controller:</p>

<pre><code>//SHOW
public function showEmployee($id)
{
    $result = User::find($id);

                                        //key     //value
    return view ('account.show')-&gt;with('result', $result);
}

//EDIT
public function editEmployee($id)
{

    $result = User::find($id);

    return view ('account.edit')-&gt;with('result', $result);
}

//UPDATE
public function updateEmployee(Request $request, $id)
{
    $this-&gt;validate($request, [
                            //This will be unique in users table
        'email' =&gt; 'required|unique:users,email,'.$id.'|email|max:255',
        'username' =&gt; 'required|unique:users,username,'.$id.'|alpha|max:20',
    ]);

    $email = $request['email'];
    $username = $request['username'];

    $user = User::findOrFail($id); 
    $user-&gt;email = $email; //Accessing properties of Model
    $user-&gt;username = $username;

    $user-&gt;save();

    return view ('account.show');
}
</code></pre>

<p>Routes:</p>

<pre><code>//SHOW
Route::get('/show/{id}',
[
    'uses' =&gt; '\App\Http\Controllers\AccountController@showEmployee',
    'as' =&gt; 'account.show',
]);

//EDIT
Route::get('/edit/{id}',
[
    'uses' =&gt; '\App\Http\Controllers\AccountController@editEmployee',
    'as' =&gt; 'account.edit',
]);


//UPDATE
Route::post('/edit/{id}',
[
    'uses' =&gt; '\App\Http\Controllers\AccountController@updateEmployee',
    'as' =&gt; 'account.edit',
]);
</code></pre>