我在laravel中的删除查询应该是什么?

时间:2019-06-09 17:59:59

标签: php laravel

我需要在此控制器内删除查询

public function del($id)
{
    $x=App\ImageMod::find();

    // $x->where("id='$id'");
    $x->delete();
    return view('show');
}

如何动态获取id并将其删除?

4 个答案:

答案 0 :(得分:2)

您可以通过以下方式删除例如博客:

public function destroy($id)
{
    $blog = Blog::findOrFail($id);
    $blog->delete();
    return redirect()->back()->with('success','Blog deleted'); 
}

答案 1 :(得分:0)

使用Request依赖项注入。然后,从您的路线中获取id属性。然后,您可以从请求中访问id。您的代码如下:

控制器

public function del(Request $request) {
    $id = $request->id;

    $x=App\ImageMod::destroy($id);

    return view('show');
}

然后在 routes / web.php 中,您应该具有:

Route::delete('imagemod/delete/{id}', 'App\YourController@delete')->name('imagemod.delete');

答案 2 :(得分:0)

通过将$id放在页面中来传递$.ajax({ url: "{{url('ImageMod')}}/" + id, // <-- id from an input, pulling the val() type: "DELETE", data: { _method: 'DELETE' }, success: function (success) { .. } (ajax或直接请求)。如果使用 ajax ,则类似于:

Route::delete('ImageMod/{id}', 'ImageModController@destroy');

在您的 web.php 中:

public function destroy($id)
{
    ImageMod::destroy($id);

    return 1;  // if going back to ajax
}

然后,路由将该变量绑定到destroy方法:

ng g webWorker suggestions --project=my-project

答案 3 :(得分:0)

您还可以使用:

public function destroy($id)
{
    DB::table('blogs')->where('id', '=', $id)->delete(); 
}