【问题标题】:How to auto populate Laravel Nova Action Fields with their respective values from database?如何使用数据库中各自的值自动填充 Laravel Nova 操作字段?
【发布时间】:2021-01-06 21:11:37
【问题描述】:

这是我的动作类中的代码:

public function fields()
{
    return [
        Date::make('checkin_date'),
        Date::make('checkout_date'),
        Textarea::make('remark'),
        Text::make('holder_name'),
        Text::make('holder_surname'),
        Text::make('clientReference'),
    ];
}

我正在寻找的是在每个字段上显示实际的数据库值。因此,用户可以选择编辑或保持原样。

【问题讨论】:

  • 想知道该怎么做

标签: laravel laravel-nova


【解决方案1】:

您可以访问动作定义上的请求对象并使用构造函数将值传递给动作。

class MyDemoAction extends Action
{
    use InteractsWithQueue, Queueable;

    public function __construct(MyDemoModel $model) {
         $this->model = $model;
    }

    public function handle(ActionFields $fields, Collection $models)
    {
        //
    }

    public function fields()
    {
    return [
        Date::make('checkin_date')->default(function() {
            $this->model->my_value;
        }),
        Date::make('checkout_date'),
        Textarea::make('remark'),
        Text::make('holder_name'),
        Text::make('holder_surname'),
        Text::make('clientReference'),
    ];
    }

为确保始终可以传递有效的 MyModel 对象,您可以将操作限制为仅在 resourceDetail 上可见。 Registering A

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 2011-02-06
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    相关资源
    最近更新 更多