Абсолютно новый для Cake.
У меня есть эта таблица с именем Content и еще одна с именем ContentMeta (связанная с помощью content_id).Каждой записи в Content соответствует соответствующая ContentMeta.
Когда я добавляю новое содержимое, я использую этот код для добавления новой записи в ContentMeta:
if( !empty( $this->data ) ) {
// Save Content
$this->Content->create();
$content = $this->Content->save( $this->data );
// Save Meta
if( !empty( $content ) ) {
$this->data['ContentMeta']['content_id'] = $this->Content->id;
$this->Content->ContentMeta->save( $this->data );
$this->Session->setFlash( 'Content has been saved.' );
$this->redirect( array( 'action' => 'edit', $this->Content->id ) );
}
}
.добавьте одну новую запись в Content и одну в ContentMeta.
Когда дело доходит до обновления данных (режим редактирования), у меня небольшая проблема.Запись для контента обновляется без помех, но в таблице ContentMeta новая запись создается при каждом обновлении.
Вот код для обновления:
$this->Content->id = $id;
// Update Content
$content = $this->Content->save( $this->data );
// Update Meta
if( !empty( $content ) ) {
//Debugger::dump(print_r($this->data,true));
$this->data['ContentMeta']['content_id'] = $this->Content->id;
$this->Content->ContentMeta->save( $this->data );
$this->Session->setFlash( 'Content has been updated.' );
$this->redirect( array( 'action' => 'edit', $this->Content->id ) );
}
Я уверен, что это логическая ошибка в этом блоке, которая вызывает это.Кто-нибудь может дать мне представление, где я иду не так?
Спасибо, м ^ е