Каким должен быть мой запрос на удаление в laravel? - PullRequest
0 голосов
/ 09 июня 2019

Мне нужен запрос на удаление в этом контроллере

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

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

Как я могу получить id динамически и удалить его?

Ответы [ 4 ]

2 голосов
/ 09 июня 2019

Вы можете удалить, например, блог следующим образом:

public function destroy($id)
{
    $blog = Blog::findOrFail($id);
    $blog->delete();
    return redirect()->back()->with('success','Blog deleted'); 
}
0 голосов
/ 09 июня 2019

Вы также можете использовать:

public function destroy($id)
{
    DB::table('blogs')->where('id', '=', $id)->delete(); 
}
0 голосов
/ 09 июня 2019

Передайте $id со своей страницы (ajax или даже прямой запрос), поместив его в маршрут.При использовании ajax что-то вроде:

$.ajax({   url: "{{url('ImageMod')}}/" + id,  // <-- id from an input, pulling the val()
           type: "DELETE",
           data: {
           _method: 'DELETE'
         },
      success: function (success) { .. }

В вашем web.php :

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

Затем маршрутизация связывает эту переменнуюк методу уничтожения:

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

    return 1;  // if going back to ajax
}
0 голосов
/ 09 июня 2019

Использовать инъекцию зависимостей Request.Затем получите свойство id с вашего маршрута.Затем вы можете получить доступ к id из запроса.Ваш код будет выглядеть так:

Контроллер

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

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

    return view('show');
}

А затем в routs / web.php вы должны иметь:

Route::delete('imagemod/delete/{id}', 'App\YourController@delete')->name('imagemod.delete');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...