У меня связь «многие ко многим» между счетами-фактурами и элементами. Позиция может появляться несколько раз в одном счете-фактуре, но с разными суммами (например, когда одна и та же услуга используется несколько раз в течение одного месяца).
Я надеялся, что смогу создать эту связь, включив в Элемент 'items' счета-фактуры при сохранении (см. https://book.cakephp.org/3/en/orm/saving-data.html#saving -belongstomany-association ):
Array
(
[0] => Array
(
[id] => 1
[_joinData] => Array
(
[amount] => 5338.29
)
)
[1] => Array
(
[id] => 1
[_joinData] => Array
(
[amount] => 5988.53
)
)
[2] => Array
(
[id] => 1
[_joinData] => Array
(
[amount] => 6023.40
)
)
)
В приведенном выше примере я надеюсь, что три строки создаются в объединенной таблице invoices_items
. Счет-фактура сохраняется правильно, но в таблице соединений создается только одна строка.
Одна из обеих ассоциаций, которую я пытался установить, saveStrategy
на append
(я не был уверен, что это делает), но это не так. 't help:
$this->belongsToMany('Invoices', [
'saveStrategy' => 'append'
]);
Можно ли добиться такого поведения из коробки, или мне нужно создать что-то более индивидуальное, например новую модель, чтобы специально отслеживать эти отношения? Пожалуйста, дайте мне знать, если дополнительный код поможет прояснить, чего я пытаюсь достичь.
Спасибо!