aqjw / nova-belongs-to-dependency
扩展的Laravel Nova BelongsTo字段,可以依赖于其他字段
v4.0.8
2022-07-01 18:52 UTC
Requires
- php: ^8.0.2
- laravel/nova: ^4.0
README
此包是Laravel Nova现有BelongsTo字段和Vue组件的扩展。
要求
- PHP 8.0.2+
- Nova 4+
目录
安装
可以通过以下命令安装此包
composer require aqjw/nova-belongs-to-dependency
用法
以下将列出具有与第一个BelongsTo字段中设置的值相等的type_id
的类别。
use Aqjw\BelongsToDependency\BelongsToDependency; ... return [ ... BelongsTo::make('Type'), BelongsToDependency::make('User') ->dependsOn('type', 'type_id') ... ];
方法
dependsOn
此方法可以接受一个或两个参数。如果您不传递第二个参数,它将从第一个参数生成,并带有_id
后缀。
这可能依赖于BelognsTo
、Text
、Enum
和其他字段 🤷
BelongsToDependency::make('User') ->dependsOn('type', 'type_id'),
多重依赖
您也可以将数组作为第一个参数传递。为了使两个或多个字段形成依赖。
BelongsToDependency::make('User') ->dependsOn(['type', 'role']),
或者
BelongsToDependency::make('User') ->dependsOn([ 'type' => 'type_id', 'role' => 'role_id', ]),
searchable
如果您有很多条目,请使用此方法。
BelongsTo::make('Country') ->searchable(), BelongsToDependency::make('State') ->searchable() ->dependsOn('country'), BelongsToDependency::make('City') ->searchable() ->dependsOn('state'),
buildQuery
如果您想在查询中添加自己的条件,请调用buildQuery
方法。
BelongsToDependency::make('Product') ->dependsOn('category') ->buildQuery(function ($query, $values) { $query->where($values) ->where('status', 'active'); }),
formatResource
使用此方法来更改资源格式。如果您想要分组项目,这可能很有用。
BelongsToDependency::make('Product') ->dependsOn('category') ->formatResource(function ($resource) { return [ 'display' => $resource->name, 'value' => $resource->id, 'group' => $resource->parent_category, ]; })
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。