sparclex/nova-creatable-belongs-to

为 Laravel Nova 定制的 BelongsTo 字段,允许用户选择或创建资源

1.0.3 2019-03-19 15:50 UTC

This package is auto-updated.

Last update: 2024-09-20 04:28:58 UTC


README

Laravel Nova 定制的 BelongsTo 字段,允许用户选择或创建资源

Latest Stable Version Total Downloads Latest Unstable Version License StyleCI

使用案例

是否曾经遇到过以下数据库结构,并且不希望用户单独创建相关资源(product_types),因为它们只包含一个唯一名称。但是,您不希望将 product_type 直接放入 products 表中,因为这会违反第三范式。

Database setup example

本包解决了这个问题,通过保留原始的 belongsTo 字段,但允许用户通过简单地输入尚未存在的名称来创建新的资源。此外,它还包括来自 alexbowers 的 prepopulate-searchable 包。

安装

composer require sparclex/nova-creatable-belongs-to

在你的字段数组内添加字段。参数包括与 Laravel Nova 的 belongsTo 字段 相同的参数,另外还有一个 nameAttribute,它确定相关模型中显示属性的名字(默认:name)。

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),
        CreatableBelongsTo::make('ProductType', 'productType', 'App\Nova\ProductType', 'name')
            ->prepopulate()
    ];
}

待办事项

  • 测试
  • 尊重创建策略

许可

MIT 许可证 (MIT)。请参阅 许可文件 以获取更多信息。