Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Сохранение нескольких полей с помощью saveAll

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 всё работает как надо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru