在Laravel中创建删除查询

时间:2018-10-17 09:15:54

标签: php sql laravel

我是使用laravel的新手。 我创建了删除功能,但是按我的意愿无法使用。这是视图中的代码,控制器以及路线。你们能告诉我代码有什么问题吗?谢谢

查看:

<div class="btn-group">
    <a class="btn btn-info" href="{{  URL::to('/delete_data_tanah/{id}') }}">
        <i class="fa fa-close" 
        onclick="return confirm('Are you sure you want to delete this data?');">----</i>
    </a>
</div>

控制器:

public function delete($id){
    \App\Tbl_object::where('id_objects', '=', $id)->delete();
    return redirect('/list_tanah')->with('Success', 'Data telah dihapus');
}

路线:

Route::post('/delete_data_tanah/{id}', 'formulir_tanah@delete');

控制器:

class formulir_tanah extends Controller
{
    public function index()
    {
        $query_tanah = \App\Tbl_object::where('id_objects_referencies', '=', '1')->get();
        $query_view = \App\Tbl_view::where('id_objects_referencies', '=', '1')->get();
        $data = ['page_title' => 'Kertas Kerja Penilaian Tanah', 'query_tanah' => $query_tanah, 'query_view' => $query_view];
        return view('admin/list_tanah')->with($data);
    }
}

2 个答案:

答案 0 :(得分:0)

尝试一下:

在Blade.php中,将{id}更改为{$data->id}

<div class="btn-group">
<a class="btn btn-info" href="{{  URL::to('/delete_data_tanah/{$data->id}') }}">
    <i class="fa fa-close" 
    onclick="return confirm('Are you sure you want to delete this data?');">----</i>
</a>

然后在您的控制器中,添加id变量:

class formulir_tanah extends Controller { public function index(){ 
    //ambil semua data dari table categories
     $query_tanah = \App\Tbl_object::where('id_objects_referencies', '=', '1')->first(); 
     $query_view = \App\Tbl_view::where('id_objects_referencies', '=', '1') ->first(); 

     $data = ['id' => $query_view->id, 'page_title' => 'Kertas Kerja Penilaian Tanah', 'query_tanah' => $query_tanah, 'query_view' => $query_view ];

     return view('admin/list_tanah')->with($data);
}

您的代码不起作用,因为laravel不知道要删除哪一行,因为您的申报表中没有特定的id

答案 1 :(得分:0)

将这些更改应用于您的代码:

Route::delete('/delete_data_tanah/{id}', 'formulir_tanah@delete');

在您看来,您需要将按钮包装在表单中

<form action="{{  URL::to('/delete_data_tanah/{id}') }}" method="post">
   @method('DELETE')
   @csrf
  <button class="btn btn-danger" type="submit">Delete</button>
</form>