carloscgo / nova-belongsto-depend
Laravel Nova 字段。
v1.1.0
2019-03-01 15:56 UTC
Requires
- php: >=7.1.0
This package is not auto-updated.
Last update: 2024-09-21 18:10:52 UTC
README
安装
您可以通过composer将此包安装到使用 Nova 的Laravel应用程序中
composer require carloscgo/nova-belongsto-depend
在您的Nova资源中使用此字段
public function fields(Request $request) { return [ ID::make()->sortable(), Text::make('Name')->rules('required', 'max:255'), NovaBelongsToDepend::make('Company') ->options(\App\Company::all()), NovaBelongsToDepend::make('Department') ->optionsResolve(function ($company) { // Reduce the amount of unnecessary data sent return $company->departments()->get(['id','name']); }) ->dependsOn('Company'), NovaBelongsToDepend::make('Location') ->optionsResolve(function ($company) { // Reduce the amount of unnecessary data sent return $company->locations()->get(['id','name']); }) ->dependsOn('Company'), ]; }
示例
- 仓库与文章多对多关联
- 文章与供应商多对多关联
- 供应商与文章多对多关联
- 选择一个 仓库,获取该仓库的所有文章
- 选择一个 文章,获取拥有此文章的所有供应商
public function fields(Request $request) { return [ ID::make()->sortable(), Text::make('Name')->rules('required', 'max:255'), NovaBelongsToDepend::make('Warehouse') ->options(\App\Warehouse::all()) ->rules('required'), NovaBelongsToDepend::make('Article') ->optionsResolve(function ($warehouse) { return $warehouse->articles; }) ->dependsOn('Warehouse') ->rules('required'), NovaBelongsToDepend::make('Supplier') ->optionsResolve(function ($article) { return \App\Supplier::whereHas('articles', function ($q) use ($article) { $q->where('article_id', $article->id); })->get(); }) ->dependsOn('Article') ->rules('required'), ]; }
安全
如果您发现任何与安全相关的问题,请通过info@orlyapps.de发送电子邮件,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。更多信息请参阅许可证文件。