dedmusos
цитировать
Зарегистрирован: 08 Янв 2008 22:37:19 Сообщения: 8
|
Добавлено: 03 Сен 2008 17:39:10 Заголовок сообщения: Верификация ассоциаций |
|
|
Господа, представим, что у нас есть две модели - Topic и Message.
База построена так
topics {id,title}
messages{id,date,text,topic_id}
Между моделями ассоциация Topic hasMany к Message.
Задача - добавить новый топик (с сообщением, естественно) в базу данных.
Контроллер Topica выглядит вот так:
if(!empty($this->data)) {
$this->Topic->save($this->data);
$this->data['Message']['lab_topic_id'] = $this->Topic->getLastInsertId();
$this->Topic->Message->save($this->data);
}
То есть, сначала мы сохраняем данные о топике в таблицу topic, а потом, после того, как получили ID сохраненного топика, сохраняем сообщение с атрибутом принадлежности к топику. Казалось бы - простая ситуация. Однако, встал вопрос о верификации данных.
В модели topic я добавил в массив верификации title топика, а в модели message, соответственно, text месседжа. Естественно, что при сохранении, если не указать тело сообщения, он выдает ошибку, мол тело сообщения отсутствует, однако заголовок в соответствующую таблицу, верификация которой идет первой, добавляет. То есть здесь отсутствует напрочь ассоциативная связь при верификации данных. Можно, конечно, в теле контроллера проверять, что передано, а что нет, но это не изящно.
Резюме. Прошу подсказать, как мне верифицировать ассоциированные данные, чтобы была сохранена целостность. |
|