Hello
I’m trying to develop my first plugin and I don’t know if I’m missing something, if I’ve implemented wrong database relations or if it’s a limitation of OctoberCMS.
I have these 3 tables
domain
±—±---------------±----------------±--------------------±--------------------+
| id | domain_name
±—±---------------±----------------±--------------------±--------------------+
domain_view
±---------±-------------±-------±--------±--------±----------±-----------±--------------------+
| position | active | view_id | domain_id
±---------±-------------±-------±--------±--------±----------±-----------±--------------------+
view
±—±-------------------±---------±--------------------±--------------------+
| id | name
±—±-------------------±---------±--------------------±--------------------+
Now these three tables make up the belongsToMany relationship where Domain
is the main model, View
the final model and DomainView
is the pivot model.
With this configuration this part works fine with RelationController behaviour.
Domain.php
public $belongsToMany = [
'views' => [
\Author\Plugin\Models\View::class,
'table' => 'author_plugin_ domain_view',
'pivot' => ['position' 'active']
]
];
config_relation.yaml (domain)
views:
....................
pivot:
form:
fields:
pivot[position]:
label: Position
span: full
type: text
pivot[active]:
label: Active
span: left
type: checkbox
So that in the backend under Domain
controller I can add related View
s and when I click of the View
I can edit the data inside the pivot DomainView
model.
However I also have these two tables
view_parameter;
±—±--------±--------+
| id | name | view_id |
±—±--------±--------+
domain_view_parameter;
±—±--------±--------+
| value | view_parameter_id | view_domain_id |
±—±--------±--------+
like for the first example this also involved three tables with a pivot table
DomainView.php
public $belongsToMany = [
'parameters' => [
\Author\Plugin\Models\ViewParameter::class,
'table' => 'author_plugin_domain_view_parameter',
'key' => 'view_domain_id',
'otherKey' => 'view_parameters_id'
]
];
config_relation.yaml (domainview)
parameters:
.....
pivot:
form:
fields:
name:
label: Name
pivot[value]:
label: Value
type: text
At this point I don’t know how to proceed, in the Domain
backend once I click on the DomainView
pivot how can I link related ViewParameters
and edit the DomainViewParameters
pivot data?