Реализация очень похожа на это видео от Watch Learn (Иван). Вы можете многое узнать о OctoberCMS, просто посмотрев его руководство. Вот документация также. Это пример информации, которую я сделал.
ПРЕДУПРЕЖДЕНИЕ Другой известный недостаток - вы не можете применить это к записи модели, которая еще не создана. В отличие от стандартного виджета отношений, который ждет, пока он не будет сохранен, прежде чем прикреплять записи, он прикрепляет записи в отдельной оверлейной форме.
Вот мои model.php
отношения:
public $belongsToMany = [
'equipments' => [
'Brandon\Pixelrpg\Models\Equipments',
'table' => 'brandon_pixelrpg_equipment_inventory',
'key' => 'inventory',
'otherKey' => 'equipment',
'pivot' => ['quantity']
]
];
Вот мой 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