为什么这个Laravel模型不删除?

时间:2018-09-21 01:56:40

标签: php laravel eloquent illuminate-container

我只是想做一个简单的表格,从数据库中删除模型记录。我之前已经做过,但是下面的代码仅闪烁成功消息并重定向。记录永远不会离开数据库。

这是我的表格:

@foreach ($users as $user)
    <li class="list-group-item {{($loop->iteration % 2 == 0) ? 'even' : 'odd'}}">
        <h3>{{$user->first_name}} {{$user->last_name}}</h3>
        <b>AccessID: </b> {{$user->id}} <br />
        <b>Created: </b>  {{$user->updated_at}}
        <form action="{{ url('/users/delete', ['id' => $user->id]) }}" method="post">
            <input type="hidden" name="_method" value="delete" />
            {!! csrf_field() !!}
            <button type="submit">Delete</button>
        </form>
    </li>
@endforeach

这是我的控制器方法:

public function destroy(User $user)
{
    $user->delete();
    Session::flash('action', 'Deleted');
    Session::flash('status', $user->first_name . $user->last_name .'&#146;s access successfully removed.');
    return redirect('/users');
}

这是我的路线:Route::delete('/users/delete/{id}', 'UserController@destroy');

1 个答案:

答案 0 :(得分:1)

答案是我的route参数需要被命名为user,以便laravel认识到它应该是一个用户对象。我有{id}而不是{user}