Normally, when you add a record with a form to a database table, CakePHP will automatically fill in the "created" field in de database with the current date & time. It works for my table called "attractions" (model "Attraction").
But now, strange things are happening. When I add a record for:
- model "AttractionProperty", table "attraction_properties"
- model "AttractionTypes", table "attraction_types"
- model "AttractionPropertyLink", table "attraction_properties_links"
- ...
... both the fields "created" and "modified" are filled in. I checked if the id of my model is set in the add action ($this->request->id), but it says "false".
Here's my controller code:
public function add()
{
if ($this->request->is('post')) {
$this->AttractionProperty->create();
if ($this->AttractionProperty->save($this->request->data)) { // data array opslaan
$this->Session->setFlash(__('De eigenschap werd succesvol toegevoegd.'), 'default', array(
'class' => 'alert alert-success'
));
return $this->redirect(array(
'action' => 'index'
));
}
$this->Session->setFlash(__('Er is een fout tijdens het toevoegen van de eigenschap opgetreden.'), 'default', array(
'class' => 'alert alert-danger'
));
}
}
public function edit($id = null)
{
if (!$id) {
throw new NotFoundException(__('Ongeldige eigenschap.'));
}
$property = $this->AttractionProperty->findById($id);
if (!$property) {
throw new NotFoundException(__('Ongeldige eigenschap.'));
}
if ($this->request->is(array('post', 'put'))) {
$this->AttractionProperty->id = $id;
if ($this->AttractionProperty->save($this->request->data)) { // data array opslaan
$this->Session->setFlash(__('De eigenschap werd succesvol bewerkt.'), 'default', array(
'class' => 'alert alert-success'
));
return $this->redirect(array(
'action' => 'index'
));
}
$this->Session->setFlash(__('Er is een fout tijdens het bewerken van de eigenschap opgetreden.'), 'default', array(
'class' => 'alert alert-danger'
));
}
if (!$this->request->data) {
$this->request->data = $property;
}
}
I did read http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-save-array-data-null-boolean-validate-true-array-fieldlist-array to retrieve more info, but it seems that I've done everything to the rules. I also know that you can do
if ($this->AttractionProperty->save($this->request->data(array('modified' => false)))) {
}
when you save in the "add" action, but I realy want to know what's the underlying problem ;)
Is this a common problem or what could be the reason of this behavior?
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.
No comments:
Post a Comment