【问题标题】:dependent field in laravel nova 4, dependsOn() method,laravel nova 4 中的依赖字段,dependsOn() 方法,
【发布时间】:2022-08-10 01:37:13
【问题描述】:

嗨,我正在使用 laravel nova 4,但我找不到依赖字段的 dependsOn() 方法的任何代码。 我有 2 个模型(1.type 和 2.make) 类型属于制造。 在我的资源字段函数中,我有如下代码 属于::make(\'Make\'), BelongsTo::make(\'Type\'),

我希望类型下拉列表取决于所选的品牌。 类型具有 make_id 作为外键。

有什么方法可以做到这一点。

我在这里先向您的帮助表示感谢。

    标签: php laravel


    【解决方案1】:

    您需要依赖字段和相关过滤。但从技术上讲,由于 type 已经属于 make 您实际上不需要添加 Make 字段。

    https://nova.laravel.com/docs/4.0/resources/fields.html#dependent-fields https://nova.laravel.com/docs/4.0/resources/authorization.html#relatable-filtering

    use Laravel\Nova\Fields\BelongsTo;
    use Laravel\Nova\Fields\FormData;
    use Laravel\Nova\Http\Requests\NovaRequest;
    
    
    BelongsTo::make('Make'),
    
    BelongsTo::make('Type')
        ->dependsOn('make', function (BelongsTo $field, NovaRequest $request, FormData $formData) {
            session()->put('make_filter', $formData->make);
        }),
    
    
    public static function relatableTypes(Request $request, $query)
    {
        if($make = session()->get('make_filter')) {
            return $query->where('make_id', $make);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2022-06-29
      • 2022-11-23
      • 1970-01-01
      • 2014-02-12
      • 2016-10-11
      • 2020-05-06
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多