在Laravel中不使用表单删除数据

时间:2018-05-18 08:06:42

标签: php controller

这是我的按钮组,包含查看,编辑和删除

<div class="btn-group">
    <a href="" >View</a>
    <a href="" >Edit</a>
    <a href="{{ action('PhaseController@destroy', $phase->phase_id) }}" >Delete</a>
</div>

我点击了删除按钮后定义了动作,该按钮转到PhaseController中具有我要删除的相位ID的destroy函数。

PhaseController

<?php

namespace App\Http\Controllers\Developer_user;

use Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Model\Project;
use App\Model\Phase;

class PhaseController extends Controller
{

    public function show($id)
    {
        //After I click the Delete button, It always go to here.
        //How to go to destroy function ?

    }

    public function destroy($id)
    {    
        $deleted_phase = Phase::find($id);
        $deleted_phase->delete();

    }
}

但是,点击“删除”按钮后,它总是转到显示功能,但没有转到action('PhaseController@destroy')。 我可以使用表单并将表单方法设置为删除来解决此问题。
但是有没有使用表格删除它?

更新
Route.php
enter image description here

1 个答案:

答案 0 :(得分:1)

在这种情况下,您需要添加自定义路线。将以下行添加到routes / web.php

Route::get('phase/destroy/{phaseId}', 'PhaseController@destroy');

要删除的网址 - http://your-domain.com/phase/destroy/1

<div class="btn-group">
    <a href="" >View</a>
    <a href="" >Edit</a>
    <a href="{{URL::to('/phase/destroy/'.$phase->phase_id)}}" >Delete</a>
</div>