У меня есть существующая Витрина, которая hasOne
Галерея. Галерея уже существует с иностраннымKey showcase_id
, установленным в соответствующее значение. В галерее есть текстовое поле, которое я пытаюсь обновить с помощью Showcase-контроллера. Результатом, который я получаю, является дополнительная запись в Галерее, по сравнению с оригинальной, вместо обновления оригинальной записи.Обновление hasone отношение ведет себя странно (cakephp)
Что я делаю неправильно?
Моя Витрина ракурса выглядит следующим образом:
echo $form->create('Showcase', array('action'=>'update'));
echo $form->input('Showcase.id', array('type'=>'hidden', 'value'=>$showcase['Showcase']['id']));
echo $form->input('Gallery.fulltext', array('type'=>'textarea', 'between'=>'<br>', 'value'=>$showcase['Gallery']['fulltext']));
echo $form->submit('Submit text');
echo $form->end();
Моя функция Витрина-контроллер:
$uses = array('Showcase','Gallery')
function update(){
if(!empty($this->data)){
$this->Showcase->saveAll($this->data, array('validate'=>'first'));
}
}
витрину модель $hasOne = 'Gallery'
и модель Галерея $belongsTo = 'Showcase'
.
$this->Showcase->saveAll()
Правильная функция для использования здесь? Или мне, возможно, нужно обновить запись галереи в контроллере Gallery? Это, вероятно, будет работать, но кажется настолько не изящным.
хороший, это хорошо работает. –