digital-creative / custom-relationship-field
在不设置真实资源关系的情况下模拟HasMany关系
v1.1.3
2024-07-18 12:26 UTC
Requires
- php: >=8.0
- laravel/nova: ^4.0
README
此字段与nova的默认HasMany关系字段功能相似,但无需与资源建立真实关系。
这意味着您可以自由地将资源A
显示在资源B
的详情页中,而不需要在它们之间创建真实的关系。
安装
您可以通过composer安装此包
composer require digital-creative/custom-relationship-field
use DigitalCreative\CustomRelationshipField\CustomRelationshipField; use DigitalCreative\CustomRelationshipField\CustomRelationshipFieldTrait; trait UserWithSimilarNameTrait { public static function similarNameQuery(NovaRequest $request, Builder $query, User $model): Builder { return $query->where('last_name', $model->last_name)->whereKeyNot($model->getKey()); } public function similarNameFields(NovaRequest $request): array { return [ ID::make(), Text::make('First Name'), Text::make('Last Name'), ]; } public function similarNameActions(NovaRequest $request): array { return []; } public function similarNameFilters(NovaRequest $request): array { return []; } } class User extends Resource { use CustomRelationshipFieldTrait; use UserWithSimilarNameTrait; public function fields(NovaRequest $request): array { return [ ... CustomRelationshipField::make('Users with similar name', 'similarName', User::class), ... ]; } }
⭐️ 表达您的支持
如果此项目对您有帮助,请给一个⭐️!
您可能还喜欢的其他包
- Nova Dashboard - Laravel Nova缺失的仪表板!
- Nova Welcome Card - Nova附带的可配置的
帮助卡
版本。 - Icon Action Toolbar - 用基于图标的操作行替换默认的乏味操作菜单。
- Expandable Table Row - 为您的资源表中的每一行提供轻松添加额外数据的方法。
- Collapsible Resource Manager - 为侧边栏中资源的排序和分组提供简单方法。
- Resource Navigation Tab - 将您的资源字段组织到选项卡中。
- Resource Navigation Link - 创建指向内部或外部资源的链接。
- Nova Mega Filter - 在卡片中显示所有过滤器,而不是在微小的下拉菜单中显示!
- Nova Pill Filter - 一个Laravel Nova过滤器,可以渲染为可点击的药丸。
- Nova Slider Filter - 一个Laravel Nova过滤器,用于在最小/最大值之间选择范围。
- Nova Range Input Filter - 一个Laravel Nova范围输入过滤器。
- Nova FilePond - 一个使用Filepond上传文件、图片和视频的Nova字段。
- Custom Relationship Field - 在不设置真实资源关系的情况下模拟HasMany关系。
- Column Toggler - 允许您在索引视图中隐藏/显示列的Laravel Nova包。
- Batch Edit Toolbar - 允许您直接从索引页面一次性更新资源的单个列。
许可证
麻省理工学院许可证(MIT)。请参阅许可证文件获取更多信息。