首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >laravel 5不删除用户记录

laravel 5不删除用户记录
EN

Stack Overflow用户
提问于 2015-06-16 15:34:45
回答 2查看 1.1K关注 0票数 0

我只想简单地从数据库中删除一个用户。

我的路线是一种资源,如下所示:

代码语言:javascript
运行
复制
Route::resource('users', 'UserController');

因此,这应该意味着我的UserController中的破坏操作应该是我的代码的位置。

因此,我的控制器操作如下:

代码语言:javascript
运行
复制
public function destroy($id)
{
    $user = User::find($id);
    $user->delete();
    return Redirect::back();
}

现在,当我单击delete按钮时,该按钮链接到/user/delete/4

它应该找到id 4的用户,然后删除它。

相反,我得到了错误

代码语言:javascript
运行
复制
NotFoundHttpException in RouteCollection.php line 145:

编辑:

代码语言:javascript
运行
复制
@foreach ($users as $user)
   <tr>
     <td>{{ $user->id }}</td>
     <td>{{ $user->username }}</td>
     <td>{{$user->HWID}}</td>
     <td>{{$user->name}}</td>
     <td class="tools">
       <a href="users/{{$user->id}}/edit" class="user-edit"><i class="fa fa-pencil-square-o fa-lg"></i></a>
       <a href="users/destroy/{{$user->id}}" class="user-delete"><i class="fa fa-trash fa-lg"></i></a>
     </td>
   </tr>
@endforeach
EN

回答 2

Stack Overflow用户

发布于 2015-06-16 15:47:02

我不知道是否可以通过您在表中指定的链接直接删除数据库中的用户。

我的工作是首先让用户指向控制器中的show函数。并向用户提供用户自身信息的概述。

此页包含带有DELETE方法的窗体。在用户信息下面,我放置了一个delete按钮,它将使用DELETE方法将表单提交给URL: / user /4

因为链接: /users/destroy/4不是一个有效的资源链接。

有关资源控制器链接的额外信息,请参阅此链接:资源控制器

示例删除/显示我自己的应用程序的页面:

代码语言:javascript
运行
复制
{!! Form::model($ManagementUser, array('method' => 'DELETE', 'url' => 'admin/management/' . $ManagementUser->id, 'role' => 'form')) !!}
    <div class="box-body">
        <div class="form-group">
            <label>Name</label>
            {!! Form::text('name', Input::old('name'), array('class' => 'form-control', 'placeholder' => 'Name', 'name' => 'name', 'disabled')) !!}
        </div>
        <div class="form-group">
            <label>E-mailaddress</label>
            {!! Form::text('email', Input::old('email'), array('class' => 'form-control', 'placeholder' => 'E-Mail', 'name' => 'email', 'disabled')) !!}
        </div>
        {!! Form::submit('Delete', array('class' => 'btn btn-block btn-default')) !!}
    </div>
{!! Form::close() !!}
票数 1
EN

Stack Overflow用户

发布于 2015-06-16 16:53:28

在资源控制器中,销毁操作由DELETE方法处理。没办法。当前,您正在使用GET方法访问未注册的路由。下面的命令将帮助您理解注册的资源路由。

代码语言:javascript
运行
复制
php artisan route:list

到达

代码语言:javascript
运行
复制
<a href="users/destroy/{{$user->id}}" class="user-delete"><i class="fa fa-trash fa-lg"></i></a>

删除(您可以使用表单和删除方法删除记录,如下所示)

代码语言:javascript
运行
复制
<form action="{{ route('users.destroy', $user->id) }}" method="POST">
    <input type="hidden" name="_method" value="DELETE" />
    <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>" />
    <button><i class="fa fa-trash fa-lg"></i></button>
</form>

参考文献

资源控制器

方法欺骗

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30872081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档