Диспетчер отношений не показывает сводные данные - PullRequest
0 голосов
/ 09 апреля 2020

Итак, этот вопрос возник из-за этого другого вопроса , который я изучал.

Так что я немного поболтал с этим, работая с внутренними формами, и подумал, что знаю, как справиться с этим. , Однако я не вижу результатов, которые я думал, что я буду. Я пытался провести какое-то исследование и не видел, чтобы кто-нибудь поднимал это в вопросах на странице github или здесь, в stackoverflow. Если только я не пропустил это. Как показать сохраненные дополнительные сводные данные в бэкэнде?

Вот мои 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

Итак, вот моя внутренняя форма, показывающая корректно менеджер отношений. Вы заметите, что поле количества не заполняется. На втором изображении моей базы данных она корректно обновляется и удаляется, используя форму:

enter image description here

enter image description here

1 Ответ

1 голос
/ 09 апреля 2020

Итак, я решил эту проблему, покопавшись и прочитав laravel документы. Решением было добавить pivot => ['quantity'] в конфигурацию отношения модели.

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