关系管理器不显示数据透视表

Relation Manager Not Showing Pivot Data

所以这个问题的出现是因为 other question 我正在调查。

所以我涉足了后端表单,并认为我知道如何解决这个问题。但是,我没有看到我认为我会看到的结果。我已尝试进行一些研究,但没有看到有人在 github 页面或此处的 Whosebug 问题中提出这个问题。除非我错过了。 如何在后端显示存储的额外 Pivot 数据?

这是我的 model.php 关系:

public $belongsToMany = [
    'equipments' => [
        'Brandon\Pixelrpg\Models\Equipments',
        'table' => 'brandon_pixelrpg_equipment_inventory',
        'key' => 'inventory',
        'otherKey' => 'equipment'
    ]
];

这是我的 controller.php:

public $implement = [        
    'Backend\Behaviors\ListController',
    'Backend\Behaviors\FormController',
    'Backend\Behaviors\ReorderController',
    'Backend\Behaviors\RelationController'
];

public $listConfig = 'config_list.yaml';
public $formConfig = 'config_form.yaml';
public $reorderConfig = 'config_reorder.yaml';
public $relationConfig = 'config_relation.yaml';

这是我的 config_relation.yaml:

equipments:
    label: Equipments
    view:
        list:
            columns:
                id:
                    label: ID
                    type: number
                    searchable: true
                    sortable: true
                name:
                    label: Name
                    type: text
                    searchable: true
                    sortable: true
                value:
                    label: Value
                    type: number
                    searchable: true
                    sortable: true
                updated_at:
                    label: Updated
                    type: datetime
                    searchable: true
                    sortable: true
                pivot[quantity]:
                    label: Quantity
                    type: number

    pivot:
        form:
            fields:
                pivot[quantity]:
                    label: Quantity
                    type: number
                    default: 0

这是我的后端表单,正确显示了关系经理。您会注意到未填写数量字段。在我的数据库的第二张图片中,它确实使用以下形式正确填写更新和删除:

所以我在深入研究并阅读 laravel 文档后解决了这个问题。解决方案是在模型关系配置中添加pivot => ['quantity']

public $belongsToMany = [
    'equipments' => [
        'Brandon\Pixelrpg\Models\Equipments',
        'table' => 'brandon_pixelrpg_equipment_inventory',
        'key' => 'inventory',
        'otherKey' => 'equipment',
        'pivot' => ['quantity']
    ]
];