Laravel Nova 自定义字段获取模型值

Posted

技术标签:

【中文标题】Laravel Nova 自定义字段获取模型值【英文标题】:Laravel Nova Custom Fields get model value 【发布时间】:2019-09-15 09:57:53 【问题描述】:

我为 Nova 创建了一个自定义字段。 在这个字段上,我需要获取一些额外的模型数据,例如 $model->country 以显示在表单上。 如何将这些数据传递给 Vue 组件?

我尝试使用:

return $this->withMeta

但我不知道如何从模型中传递数据。

【问题讨论】:

【参考方案1】:

像普通字段一样将自定义字段添加到资源fields(),并将自定义方法与模型中的数据链接起来:

CountryField::make('Country')->country('Germany'),

在你的 Nova 组件中定义这个自定义方法(参见src 文件夹):

public function country($value)

    return $this->withMeta([
        'country' => $value,
    ]);

您可以像这样在FormField.vue 中访问此方法返回的数据:

 field.country 

【讨论】:

@Sven 你能看看this的问题并给出一些想法吗?

以上是关于Laravel Nova 自定义字段获取模型值的主要内容,如果未能解决你的问题,请参考以下文章

如何显示Laravel Nova中的加密字段值?

Laravel Nova:按列分组表单字段

在 Laravel Nova Vue 组件中观看动态渲染的字段

用于 Laravel Nova 中同一模型上的两个资源字段的 relatableQuery()

Laravel Nova 中的自定义 Vue 组件

如何在 laravel nova 管理面板中定义时间字段