У меня проблема с обновлением (лучше не воссозданием) дополнительного поля в таблице соединений HABTM.Я искал в Google и других источниках, но боролся в течение 4 дней.
У меня есть модели:
class Tutorial extends AppModel {
var $hasAndBelongsToMany = array(
'TutorialCategory' => array(
'with' => 'TutorialCategoriesTutorial',
'order' => 'TutorialCategoriesTutorial.order_by ASC',
'unique' => true,
);
}
class TutorialCategory extends AppModel {
var $hasAndBelongsToMany = array(
'Tutorial' => array(
'with' => 'TutorialCategoriesTutorial',
'unique' => true,
);
}
таблица присоединения tutorial_categories_tutorial имеет идентификатор, tutorial_id, tutorial_category_id, поля order_by.
Я пытаюсь обновить поле order_by, например:
$order = 1;
foreach($tutorials as $i => $tutorial) {
$this->data[$i]['Tutorial']['id'] = $tutorial['Tutorial']['id];
$this->data[$i]['TutorialCategory']['id'] = $tutorial['TutorialCategory']['id];
$this->data[$i]['TutorialCategoriesTutorial']['order_by'] = $order;
++$order;
}
$this->Tutorial->bindModel(array('hasMany' => array('TutorialCategoriesTutorial')));
$saved = $this->Tutorial->saveAll($this->data);
Это удаление и создание новых записей в объединяемой таблице, но не установка order_by вообще.Я хочу обновить запись и установить значение order_by.Я пытался через многое, но не повезло.
Пожалуйста, помогите и / или дайте совет и объяснение.
Спасибо!