You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel-Backpack:创建公司后重定向及移除指定保存选项

问题解决方案

一、公司创建完成后重定向到带公司ID的联系人创建页

核心思路是在公司数据保存成功后,获取新创建的公司ID,再跳转到联系人创建页面并携带该ID参数:

  • 如果是常规控制器开发,在CompanyController的store方法中,保存公司实例后执行重定向:
    public function store(Request $request)
    {
        // 验证并保存公司数据
        $company = Company::create($request->validated());
        
        // 重定向到联系人创建页,携带公司ID
        return redirect()->route('contacts.create', ['company_id' => $company->id]);
    }
    
  • 如果使用后台管理框架(如Laravel-admin),可以在表单的saved回调中处理:
    $form->saved(function (Form $form) {
        $companyId = $form->model()->id;
        return redirect()->route('contacts.create', ['company_id' => $companyId]);
    });
    
    跳转后,联系人创建页面可以通过request('company_id')获取该值,自动填充到关联字段中。

二、仅在公司创建操作中移除「Save and edit this item」选项

需要根据当前操作类型(创建/编辑)动态修改保存选项配置:

  • 先判断当前是否为公司创建操作(可通过路由、请求方法或框架提供的标识判断),再移除对应选项:
    // 基础保存选项配置
    $saveOptions = [
        "active" => [
            "value" => "save_and_back",
            "label" => "Save and back"
        ],
        "options" => [
            "save_and_edit" => "Save and edit this item",
            "save_and_new" => "Save and new item"
        ]
    ];
    
    // 判断是否为公司创建操作(示例:通过路由判断)
    if (request()->is('companies/create') || request()->route()->getActionMethod() === 'store') {
        // 移除「Save and edit this item」选项
        unset($saveOptions['options']['save_and_edit']);
    }
    
    // 将处理后的配置应用到页面
    
  • 如果是Laravel-admin框架,可在表单构造时判断是否为编辑状态,动态设置保存选项:
    public function form()
    {
        $form = new Form(new Company());
        
        // 表单字段定义...
        
        // 仅在创建页面移除保存并编辑选项
        if (!$form->isEditing()) {
            $form->setSaveOptions([
                'active' => 'save_and_back',
                'options' => [
                    'save_and_new' => 'Save and new item'
                ]
            ]);
        }
    }
    

内容的提问来源于stack exchange,提问作者Liju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 15:03:17