Мне нужна помощь для создания отношения ownToMany между двумя таблицами.Мне нужно, чтобы это отношение было постоянным, а «состояние отношения» должно быть сохранено в дополнительном поле в таблице отношений.
Вот немного фона.Я строю веб-сайт для ресторана.
В этом ресторане есть несколько карт (Brasserie, Gastronomique ...):
cartes
id | name | description
Каждая карта имеет много разделов (закуски, салат, мясо, рыба ...).Каждый раздел может состоять из нескольких карт.
cartes_rubriques
id | name | description | comment
Карты и разделы имеют отношение belongsToMany
благодаря таблице
cartes_cartes_rubriques
id | carte_id | rubrique_id| order | description | comment | active (boolean)
Мне нужно, чтобы это отношение было постоянным.Отношение может быть временно удалено, так как некоторые разделы могут быть сезонными, но мне нужно сохранить заказ , описание и комментарий для сохранения.
Я пробовал 'saveStrategy' => 'append' , но это только добавляет новые записи в cartes_cartes_rubriques.
CartesTable.php
$this->belongsToMany('Rubriques', [
'foreignKey' => 'carte_id',
'targetForeignKey' => 'rubrique_id',
'through' => 'cartes_rubriques'
]);
CartesRubriquesTable.php
$this->belongsToMany('Cartes', [
'foreignKey' => 'rubrique_id',
'targetForeignKey' => 'carte_id',
'through' => 'cartes_rubriques'
]);
CartesCartesRubriquesTable.php
$this->belongsTo('Cartes', [
'foreignKey' => 'carte_id',
'joinType' => 'INNER'
]);
$this->belongsTo('CartesRubriques', [
'foreignKey' => 'cartes_rubrique_id',
'joinType' => 'INNER'
]);
В идеале моя стратегия заключается в сохранении этих отношений и переключении cartes_cartes_rubriques.active .
Кажется ли это хорошей / возможной стратегией?
Как сделать переключение на cartes_cartes_rubriques.active ?
У вас есть лучший вариант?
Спасибо за вашу помощь.Антонио