Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Dromok
цитировать
Зарегистрирован: 24 Апр 2009 17:01:45 Сообщения: 6
|
Добавлено: 28 Апр 2009 14:56:03 Заголовок сообщения: Сохранение нескольких полей с помощью saveAll |
|
|
Таблица: Код: | `id` int(11) NOT NULL auto_increment,
`content` char(255) NOT NULL, |
Имеем контроллер: Код: | class QuestionsController extends AppController {
var $name = 'Questions';
function add() {
if (!empty($this->data)) {
if ($this->Question->saveAll($this->data)) {
$this->Session->setFlash('Данные успешно сохранены.');
}
}
}
} |
К нему отображение: Код: | echo $form->create('Question');
echo $form->input('Question.0.content');
echo $form->input('Question.1.content');
echo $form->end('Сохранить'); |
В этом случае в базе ничего не сохраняется. Если оставить только echo $form->input('Question.content'); то запись сохраняется.
Внимание вопрос! В чем проблема? Почему несколько записей не хотят сохраняться?[/code] |
|
Вернуться к началу |
|
|
Dromok
цитировать
Зарегистрирован: 24 Апр 2009 17:01:45 Сообщения: 6
|
Добавлено: 29 Апр 2009 00:03:25 Заголовок сообщения: |
|
|
Всё-таки saveAll видимо нельзя так применять. Хотя мне кажется это было бы логично.
Кому интересно, то я сделал сохранение в цикле: Код: | function add() {
if (!empty($this->data)) {
$noerror = true;
foreach($this->data as $question) {
$noerror = ($this->Question->saveAll($question) && $noerror) ? true : false;
}
if($noerror) $this->Session->setFlash('Данные успешно сохранены.');
}
} |
Кстати в этот код если подставить вместо saveAll просто save, то опять не будут сохраняться все значения, а только одно последнее. Но с saveAll всё работает как надо. |
|
Вернуться к началу |
|
|
|