0

我使用 laravel 5.4 和 voyager管理面板。我创建了一个名为食谱的模块。我为这个模块创建了数据库表、模型和 CUSTOM 控制器和视图。我还创建了 BREAD,并在那里指出了我的自定义控制器。问题是当我填写表格并提交时,数据在表中重复,每次创建项目时我的表中有 2 行相同。我认为问题在于它发送了 2 个请求,其中一个请求来自我的自定义路由和控制器,另一个来自 voyager 本身。但不知道如何解决。

从我的面包打印屏幕 BREAD 的打印屏幕

我的路线

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'
        ]);
}

任何想法?

4

2 回答 2

1

你应该试试这个检查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'
            ]);
}
于 2018-03-12T06:50:37.800 回答
0

问题是由于form元素类form-edit-add,因为似乎有事件绑定到这个类。我删除了它,现在它工作正常

于 2017-11-14T12:06:07.123 回答