2

Everytime I try to delete a user, I get "Missing required parameters for [Route: delUser] [URI: deleteUser/{id}]". But when I refresh the page, the selected user will be deleted. I don't know why I am getting this error.

Here is my web.php:

Route::get('/deleteUser/{id}',[
'uses' => 'ViewUsersController@deleteUser',
'as' => 'delUser'
]);

ViewUsersController.php:

public function deleteUser($id){

    $user = Sentinel::findById($id);

    $session1 = Session::flash('del_message', 'User has been successfully deleted.');
    $session2 = Session::flash('alert-class', 'alert-success');

    if ($user != null) {
    $user->delete();
    return redirect()->route('delUser')->withSessionone($session1)->withSessiontwo($session2);
    }

    return redirect()->route('delUser')->withMessage("Wrong ID");


}  

viewUsers.blade.php:

<h1> Users </h1>
<table border = '1'>
    <tr>
        <th> First Name </th>
        <th> Last Name </th>
        <th> Email </th>
        <th> Date Registered </th>
        <th> Delete </th>
    </tr>

@foreach($users as $key => $data)
    <tr>
        <td> {{ $data->first_name }} </td>
        <td> {{ $data->last_name }} </td>
        <td> {{ $data->email }} </td>
        <td> {{ $data->created_at }} </td>
        <td><a href = "/deleteUser/{{ $data->id }}">Delete</a></td>
    </tr>
@endforeach
</table>

I am using laravel 5.5 and sentinel

Hooman
  • 106
  • 1
  • 8

1 Answers1

2

When you are redirecting, it is expecting a route delUser with an id like delUser/1 but you are redirecting without id part.

return redirect()->route('delUser')->withMessage("Wrong ID");

Make sure you have a url like -

Route::get('delUser','SomeConroller@delUserMethod');

Or add an id with the URL.

Sohel0415
  • 9,523
  • 21
  • 30