【问题标题】:data duplicating when use custom controller in laravel's voyager admin panel在 laravel voyager 管理面板中使用自定义控制器时数据重复
【发布时间】:2018-04-19 18:30:14
【问题描述】:

我使用 laravel 5.4 和 voyager admin panel。我创建了一个名为食谱的模块。我为这个模块创建了数据库表、模型和 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'
        ]);
}

有什么想法吗?

【问题讨论】:

    标签: php laravel laravel-5 voyager


    【解决方案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'
                ]);
    }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2019-09-28
        • 2021-06-26
        • 1970-01-01
        • 2017-12-13
        • 2018-07-22
        • 2020-09-27
        • 2020-11-27
        • 2018-09-19
        • 2019-01-01
        相关资源
        最近更新 更多