Thijs
Thijs

Reputation: 11

CakePHP 1.3 controller save() does not save data

I want to add a new user to the database, and do so by making them fill in a form and submitting this. All seems to work fine. Just before my save() call in the controller I return all data and all necessary data is there. It is valid(ated), since no errors are returned.

But then nothing happens. I'm being returned to my form without any errors being shown. This is my 'save-line':

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

I'm not making use of any beforeSave() methods.

Using debug($this->validationErrors); shows:

app/controllers/registratie_controller.php (line 45)

Which is the line of code from above.

I've been going through my code over and over. What could the problem be?

Upvotes: 1

Views: 4519

Answers (2)

Bruno Oliveira
Bruno Oliveira

Reputation: 11

I had the same problem, fixed doing exactly what Jack B Nimble told. Using CakePHP 1.3

Sample:

Model: Contacts

$this->data['contact']

Upvotes: 1

Jack B Nimble
Jack B Nimble

Reputation: 5087

When you create a form using the FormHelper it will generate input names like:

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

Once the form is submitted cake will push that into the $this->data array with an index of 'Registratie'

You probably need to pass the index to the model when saving

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

I would also do a var_dump($this->data) or print_r($this->data) to make sure your form fields are coming through.

Upvotes: 1

Related Questions