boliver20/nova-belongs-to-dependency

扩展Laravel Nova BelongsTo字段,可依赖于其他字段

1.1 2023-04-28 13:03 UTC

This package is auto-updated.

Last update: 2024-08-28 16:30:20 UTC


README

本包是Laravel Nova现有BelongsTo字段和Vue组件的扩展。

最初由manmohanjit创建,原始包已被弃用。

需求

  • PHP 7.3+
  • Nova 4

如果需要支持Nova 3,请使用1.x版本

安装

您可以通过composer在Laravel应用上安装此包,该应用使用Nova

composer require boliver20/nova-belongs-to-dependency

使用方法

以下代码将列出与第一个BelongsTo字段设置值相等的type_id的分类。

use Webparking\BelongsToDependency\BelongsToDependency;
...
return [
    ...
    BelongsTo::make('Type'),
    
    BelongsToDependency::make('User')
        ->dependsOn('type', 'type_id'),
    ...
];

请查看以下示例以了解其他使用情况。

示例

数据库结构

  • 类型 (id, name)
  • 文章 (id, type_id, category_id, title, body)
  • 分类 (id, type_id, title)

我们只能将属于同一类型的分类分配给文章。

这就是在Nova分类资源上实现它的方法

use Webparking\BelongsToDependency\BelongsToDependency;
...
return [
    ...
    BelongsTo::make('Type'),
    
    BelongsToDependency::make('User')
        ->dependsOn('type', 'type_id'),
    ...
];

如果您还使用了文本/枚举type字段,它也会起作用。

use Webparking\BelongsToDependency\BelongsToDependency;
...
return [
    ...
    Select::make('Type')->options([
        'post' => 'Post',
        'page' => 'Page',
    ])>displayUsingLabels(),
    
    BelongsToDependency::make('User')
        ->dependsOn('type', 'type'),
    ...
];

更新日志

请参阅更新日志以获取最近更改的更多信息。

致谢

此工具扩展了基础的Laravel Nova BelongsTo字段,并受到Nova Dependency Container的启发。

许可证

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