关系管理器不显示数据透视表
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']
]
];
所以这个问题的出现是因为 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']
]
];