Я использую Laravel 5.4 и админ панель voyager. Там я создал модуль под названием рецепты. Я создал таблицу базы данных, модель и CUSTOM контроллер и представления для этого модуля. Я также создал BREAD и указал там мой пользовательский контроллер. проблема заключается в том, что когда я заполняю форму и отправляю ее, данные дублируются в таблице, в моей таблице 2 одинаковых строки каждый раз, когда я создаю элемент. Я думаю, проблема в том, что он отправляет 2 запроса, один из них от моего пользовательского маршрута и контроллера, а другой от самого voyager. но не знаю, как это исправить.
мои маршруты
Route::group(['prefix' => 'admin', 'middleware' => ['admin']], function () {
\Voyager::routes(); //voyager routes
// routes for my custom module
// I can comment this routes, but result is the same
Route::resource('/recipes', 'Admin\RecipesController');
});
мой контроллер
public function store(Request $request)
{
$recipe = Recipe::create($request->except(['modules']));
return redirect()
->route("recipes.index")
->with([
'message' => __('voyager.generic.successfully_added_new')." recipe",
'alert-type' => 'success'
]);
}
любая идея?
Вы должны попробовать это для проверки AJax Request
:
public function store(Request $request)
{
if (!$request->ajax()) {
$recipe = Recipe::create($request->except(['modules']));
}
return redirect()
->route("recipes.index")
->with([
'message' => __('voyager.generic.successfully_added_new')." recipe",
'alert-type' => 'success'
]);
}
проблема была из-за form
класс элемента form-edit-add
, как кажется, было событие, связанное с этим классом. Я его убрал и теперь работает нормально