manmohanjit/nova-belongs-to-dependency

此包已被弃用,不再维护。未建议替代包。

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

1.1.0 2019-01-19 13:25 UTC

This package is auto-updated.

Last update: 2021-08-27 19:34:00 UTC


README

该项目不再维护,请使用

https://github.com/webparking/nova-belongs-to-dependency

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

安装

您可以通过 composer 在使用 Nova 的 Laravel 应用程序上安装此包

composer require manmohanjit/nova-belongs-to-dependency

使用

以下将列出具有与第一个 BelongsTo 字段中设置的值相等的 type_id 的类别。

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

查看下面的 示例 了解其他用例。

示例

数据库结构

  • Type (id, name)
  • Posts (id, type_id, category_id, title, body)
  • Category (id, type_id, title)

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

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

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

如果您还使用了文本/枚举 type 字段,这将有效。

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

变更日志

请参阅 CHANGELOG 了解最近更改的更多信息。

致谢

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

许可

MIT 许可证(MIT)。请参阅许可文件了解更多信息。