Laravel Search Удалить

Когда я выполняю поиск и получаю результаты поиска, я пытаюсь удалить запись, при удалении отображается сообщение, которое успешно удалено, но после того, как я получаю сообщение об ошибке, создайте новое исключение MethodNotAllowedHttpException ($ others);

public function destroy($id)
{
    $id = Hashids::decode($id);
    $id = implode(',', $id);

    $sub = Subs::find($id);
    $sub->delete();

    return response()->json([
        'success' => "Subscription Plan Deleted successfully.",
        'tr'      => 'tr_' . $id,
    ]);
}

Маршруты:

Route::post('/subscriptions/search/results','SubsController@searchSubs'); 
Route::get('/subscriptions/restore/{id}', 'SubsController@restore'); 

Ссылка:

<a href = "{{action('SubsController@destroy', Hashids::encode($sub['id']))}}" class = "btn btn-danger btn"
   data-tr = "tr_{{$sub['id']}}" data-toggle = "confirmation" data-btn-ok-label = "Delete" data-btn-ok-icon = "fa fa-remove"
   data-btn-ok-class = "btn btn btn-danger" data-btn-cancel-label = "Cancel"
   data-btn-cancel-icon = "fa fa-chevron-circle-left" data-btn-cancel-class = "btn btn btn-default"
   data-title = "Are you sure you want to delete ?" data-placement = "left" data-singleton = "true">Delete </a>

добавить маршрут и код, по которому вы совершаете этот звонок

devnull Ψ 09.08.2018 15:51

Проверьте свой заголовок, какой тип метода там вызывается

Mayuri Pansuriya 09.08.2018 15:54
Route::post('/subscriptions/search/results','SubsController@‌​searchSubs'); Route::get('/subscriptions/restore/{id}', 'SubsController@restore');
Evripides Kyriacou 09.08.2018 15:59
a href = "{{action('SubsController@destroy', Hashids::encode($sub['id']))}}" class = "btn btn-danger btn" data-tr = "tr_{{$sub['id']}}" data-toggle = "confirmation" data-btn-ok-label = "Delete" data-btn-ok-icon = "fa fa-remove" data-btn-ok-class = "btn btn btn-danger" data-btn-cancel-label = "Cancel" data-btn-cancel-icon = "fa fa-chevron-circle-left" data-btn-cancel-class = "btn btn btn-default" data-title = "Are you sure you want to delete ?" data-placement = "left" data-singleton = "true"> Delete </a>
Evripides Kyriacou 09.08.2018 16:06

Кажется, у вас нет настроенного маршрута, который указывает на SubsController@destroy.

Rwd 09.08.2018 16:31

У меня есть Route :: resource ('subscriptions', 'SubsController');

Evripides Kyriacou 09.08.2018 17:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
6
64
1

Ответы 1

Route::resource('subscriptions','SubsController');

создает метод уничтожения, который требует типа запроса DELETE. например Route :: delete (подписки / уничтожить ',' SubsController @ destroy ');

для этого вам нужно будет создать форму и отправить запрос на УДАЛЕНИЕ, как показано ниже.

<form action = "{{ route('routename',$parameter) }}" method = "POST">
    {{csrf_field()}}
    {{method_field('DELETE')}}
    <button type = "submit" class = "m-portlet__nav-link btn m-btn m-btn--hover-danger m-btn--icon m-btn--icon-only m-btn--pill"> <i class = "glyphicon glyphicon-trash"></i></button>
</form>

проверьте свой маршрут в консоли

php artisan route:list

Если вы не можете этого сделать, то: удалить метод уничтожения из ресурса следующим образом:

Route::resource('subscriptions','SubsController')->except('destroy');

Теперь он не будет включать метод уничтожения. Теперь вы можете составить собственный маршрут запроса получать и отправить идентификатор записи для ее удаления.

Я пробую, но когда я использую форму поиска, чтобы найти план подписки, и удаляю запись, я получаю новое исключение MethodNotAllowedHttpException ($ others);

Evripides Kyriacou 10.08.2018 12:31

Хорошо. Отредактируйте свой вопрос и добавьте маршруты, затем контроллер, а затем файл лезвия. Это исключение возникает, когда ваш маршрут и тип запроса не совпадают. например route - это тип сообщения, и вы отправляете запрос на получение.

Afraz Ahmad 10.08.2018 19:22

Другие вопросы по теме