lupennat/many-inline

该包已被弃用且不再维护。没有推荐替代包。

Laravel Nova - 多行表格

v1.0.0 2023-05-22 14:03 UTC

This package is auto-updated.

Last update: 2023-12-12 11:35:59 UTC


README

  1. 需求
  2. 安装
  3. 使用

需求

  • php: ^7.4 | ^8
  • laravel/nova: ^4

安装

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

composer require lupennat/many-inline

使用

ManyInline 包自动为所有多关系字段启用新的 inline 方法

  • HasMany
  • BelongsToMany
  • HasManyThrough
  • MorphToMany

表格将作为资源的字段显示,没有任何操作和工具栏。

use Laravel\Nova\Fields\HasMany;
use Laravel\Nova\Http\Requests\NovaRequest;

class User extends Resource
{

    public function fields(Request $request)
    {
        return [
            HasMany::make('User Post', 'posts', Post::class)->inline();
        ];
    }
}

您可以通过新的方法 hideWhenInlineonlyOnInline 来管理相关资源上的字段可见性。

要管理字段可见性,必须在相关资源上包含 HasManyInline 特性。

use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\BelongsTo;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Http\Requests\NovaRequest;
use Lupennat\ManyInline\HasManyInline;

class Posts extends Resource
{

    use HasManyInline;

    public function fields(Request $request)
    {
        return [
            ID::make(),
            BelongsTo::make(__('User'), 'user', User::class)->hideWhenInline(),
            Text::make(__('Extra Field'), 'extra')->onlyOnInline()
        ];
    }
}