首页 > 解决方案 > Laravel 资源控制器在 amchor 点击时没有删除路由

问题描述

在 laravel 中,我有资源控制器:

Route::resource('/student','StudentController');

这是我的视图列表代码:

<tr>
    <td>{{ $key + $models->firstItem() }}</td>
    <td>{{ $model->name }}</td>
    <td>{{ $model->email }}</td>
    <td>{{ $model->roll_no }}</td>
    <td>{{ $model->StudentDetail->phone }}</td>
    <td>{{ $model->StudentDetail->course }}</td>
    <td>{{ $model->StudentDetail->city }}</td>
    <td>{{ $model->StudentDetail->state->state_name }}</td>
    <td>
        <a href="#">Edit</a> |
        <a href="{{ route('student.destroy', ['id' => $model->id]) }}">Link</a>

    </td>
</tr>

我有conycontroller功能:

public function destroy($id)
{
   echo "ok";
}

我的问题是,当我单击锚按钮(删除)时,它没有找到删除资源路径我在这里做错了什么,任何人都可以帮我解决这个问题。当我单击删除锚点时,它会调用资源的显示功能,但我希望销毁功能在单击时调用。

标签: laravellaravel-5laravel-5.4

解决方案


destroy功能使用DELETE方法

在您的刀片视图中

@foreach($students as $model)
<tr>
    <td>{{ $key + $models->firstItem() }}</td>
    <td>{{ $model->name }}</td>
    <td>{{ $model->email }}</td>
    <td>{{ $model->roll_no }}</td>
    <td>{{ $model->StudentDetail->phone }}</td>
    <td>{{ $model->StudentDetail->course }}</td>
    <td>{{ $model->StudentDetail->city }}</td>
    <td>{{ $model->StudentDetail->state->state_name }}</td>
    <td>
        <a href="#">Edit</a> |

        <a href="javascript:void(0);" onclick="event.preventDefault();document.getElementById('delete_form').submit();">DELETE</a>

       <form id="delete_form" style="display:none" action="{{ route('student.destroy',$model->id)}}" method="POST" >
          {{ csrf_field() }}   
           <input type="hidden" name="_method" value="delete" />
        </form>
    </td>
</tr>
@endforeach

推荐阅读