#laravel-5.2
#laravel-5
Вопрос:
Я разработал веб-сайт с CRUD в таблице продуктов. это структура таблицы.
Создание и обновление работают нормально, но удаление не работает.
Это форма в блейде для удаления продукта
{{ Form::open(array('url' => 'admin/products/' . $product->id, 'class' => 'pull-right')) }}
{{ Form::hidden('_method', 'DELETE') }}
{{ Form::submit('Delete ', array('class' => 'btn btn-warning')) }}
{{ Form::close() }}
И это функция уничтожения в контроллере
public function destroy($id)
{
$product = Product::find($id);
$product->delete();
// Product::destroy($id);
return redirect('admin/products')->with('message', 'Successfully deleted the product!');
}
И это мои маршруты
Route::group(['middleware' =>'AppHttpMiddlewareAdminMiddleware'], function () {
//resource
Route::resource('admin/products','AdminFront');
});
Когда я нажимаю кнопку удаления, он вводит функцию уничтожения и dd ($ id) правильно
Но когда пишут
$product = Product::find($id);
$product->delete();
Or
Product::destroy($id);
Я получаю эту ошибку
The localhost page isn’t working
localhost is currently unable to handle this request.
Эта ошибка меня утомила . Я разработал delete fun с помощью resource API в другой таблице и все работает нормально.Я не знаю, проблема в БД или где. пожалуйста, кто-нибудь мне поможет ,
Комментарии:
1. Вы
debug
включили? Есть ли у сервера разрешение на запись в файл журнала внутри папки хранения? Вы должны хотя бы увидеть страницу с описанием ошибки в Laravel.2. У меня есть laravel.log в папке хранения, но как узнать об ошибке по нему?
3. Попробуйте вызвать ошибку, а затем проверить последнюю запись в файле журнала; если она совпадает с датой и временем, в которые вы вызвали ошибку, тогда это проблема, которую вы ищете. Вы получите описательное сообщение об ошибке от PHP и трассировку стека.
Ответ №1:
Что делает ваш routes.php как выглядит?
Возможно, вам потребуется включить маршрут ресурса routes.php
.
Route::resource('admin/products/', 'TheNameOfYourController');
Но убедитесь, что маршрут защищен либо в контроллере, либо routes.php .
Вот примерно та же настройка, что и у вас: https://github.com/jeremykenedy/laravel-material-design/blob/master/app/Http/routes.php СТРОКА 119
https://github.com/jeremykenedy/laravel-material-design/blob/master/app/Http/Controllers/UsersManagementController.php СТРОКИ 369-376
https://github.com/jeremykenedy/laravel-material-design/blob/master/resources/views/admin/edit-user.blade.php СТРОКИ 243-246
Приветствия!
Комментарии:
1. Маршрут::group([‘middleware’ =>’App Http Middleware AdminMiddleware’], функция () {Маршрут::resource(‘admin / products’,’AdminFront’); }); это мой маршрут, я отредактирую сообщение с его помощью, и маршрут работаетправильно, поскольку он вводит destroy fun и echo $ id
2. Я не понимаю, что вы имеете в виду. Является ли «AdminFront» именем контроллера?
3. удаляет ли это запись?
4. Нет. запись не удалена