У меня есть Кампании и Действия.Каждая кампания может иметь неограниченные действия (даже может повторяться).
В документации Cakephp говорится, что вы можете сохранить ассоциацию с помощью actions._ids, но у меня есть проблема с этим.У каждой кампании_действия есть продолжительность.Затем, если я использую actions._ids, я могу сохранить отношения без проблем, но не могу сохранить длительность в каждой кампании campaign_duration.
Теперь я сохраняю ширину данных actions._joinData.action_id и actions._joinData.duration иработает!но проблема в том, что cakephp создает новое действие и сохраняет мне связь с созданным новым действием.Пример:
Мне нужно сохранить в кампании 1 идентификаторы действий 3 и 5 шириной 25 секунд и 40 секунд соответственно.
Вставка в BBDD должна быть campaign_id 1 - action_id 3 - duration 25 и campaign_id1 - action_id 5 - длительность 40. Теперь с _joinData это спасает меня: новый идентификатор ширины действия 8 (например) и новый идентификатор ширины действия 9 (например), а в Campaign_action 1: action_id 1 - action_id 8 - продолжительность 25 и campaign_id 1- action_id 9 - продолжительность 40
Как я могу это сделать?
Должен ли я сделать это вручную без торта?
Спасибо.
Редактировать:
Это мои данные для сохранения (только действия):
"actions" => array:1 [▼
0 => array:1 [▼
"_joinData" => array:3 [▼
"campaign_action_name" => "A"
"action_id" => "3"
"duracion" => "4"
]
]
]
И это мой результат:
"actions": array:1 [▼
0 => Action {#236 ▼
+"_joinData": CampaignsAction {#266 ▼
+"campaign_action_name": "A"
+"action_id": 3
+"duracion": 4.0
+"[new]": true
+"[accessible]": array:6 [▶]
+"[dirty]": array:3 [▶]
+"[original]": []
+"[virtual]": []
+"[errors]": []
+"[invalid]": []
+"[repository]": "CampaignsActions"
}
+"[new]": true // HERE IS THE PROBLEM I THINK
+"[accessible]": array:21 [▶]
+"[dirty]": array:1 [▶]
+"[original]": []
+"[virtual]": []
+"[errors]": []
+"[invalid]": []
+"[repository]": "Actions"
}
]