2010-05-19 7 views
1

Я хочу добавить нового пользователя в базу данных и сделать это, заставив их заполнить форму и отправить ее. Кажется, все работает нормально. Как раз перед тем, как мой вызов save(), я возвращаю все данные и все необходимые данные есть. Он действителен (ated), так как ошибки не возвращаются.CakePHP 1.3 контроллер save() не сохраняет данные

Но тогда ничего не происходит. Меня возвращают в мою форму без каких-либо ошибок. Это моя «сохранить строки»:

if($this->Registratie->save($this->data)) { 

Я не используя каких-либо beforeSave() методов.

Использование debug($this->validationErrors); показывает:

app/controllers/registratie_controller.php (line 45) 

Какая строка кода сверху.

Я снова и снова просматривал свой код. В чем проблема?

+0

Какой выход из 'var_dump ($ this-> Registratie-> Сохранить ($ this-> данные));'? – Mike

+0

Вы * возвращаете * данные? Я верю, что вы скорее сбросите его, потому что возвращение нарушит поток управления. – zefciu

+0

Каков формат вашего массива $ this-> data? Являются ли ключи этого массива не соответствующими, он не будет сохранять и не будет вызывать ошибку – Jonathan

ответ

1

При создании формы с помощью FormHelper он будет генерировать входные имена, как:

<input type='text' name='data[Registratie][first_name]'> 

После отправки формы торт будет подталкивать, что в массив $ this-> данных с индексом «» Registratie

Вы, вероятно, нужно передать индекс модели при сохранении

if ($this->Registratie->save($this->data['Registratie'])) { 

Я хотел бы также сделать var_dump ($ this-> данные) или print_r ($ this-> data), чтобы убедиться, что поля формы заполнены.

1

У меня была та же проблема, исправлено выполнение именно того, что сказал Джек В Провор. Использование CakePHP 1.3

Примеры:

Модель: Контакты

$this->data['contact'] 
Смежные вопросы