首页 > 解决方案 > Laravel (7.x) nova (3.10) 动作 - 在 fields() 上获取当前模型实例

问题描述

我对这个Laravel nova 动作有类似的问题 - 在 fields() 上获取当前模型实例

但来自https://github.com/laravel/nova-issues/issues/1813的信息

有可能的。

我使用 Laravel 7.x 和 nova 3.10

我有一个带有“大小”字段的资源,例如 3KG、4KG

我对(仅在索引行上)字段“金额”(数字字段)进行了操作

我希望用户只能将“大小”的乘法放在“数量”和显示在“大小”操作值上的字段

我在行动领域尝试过:

    Text::make(__('Package'), 'size')
->default(function(){

//need to load value of current model resource "size" to inform user

        })
        ->readonly(),

    Number::make(__('Amount'), 'amount')
        ->sortable()
        ->min(1) // -> i need to change this based on "size" form model resource
        ->max(9999)
        ->step(1) // -> i need to change this based on "size" form model resource
        ->updateRules('nullable')
        ->rules('required', 'number')
        ->help(__('in kilograms')),

如何在 laravel 字段中加载这个 JS 数组“ConfirmActionModal['selectedResources'][0]”?

我不擅长 JS,如何将值加载到 php 中?

标签: javascriptarrayslaravellaravel-nova

解决方案


获取模型名称:

$model = $request->viaResource;

获取模型 ID:

$id = $request->viaResourceId;

例子:

$post = $parent = \App\Models\Post::find($request->viaResourceId);

推荐阅读