Date modified isn't null when adding a record

2014-02-09 Thread Sam Clauw


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+unsubscr...@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.


Re: Date modified isn't null when adding a record

2014-02-09 Thread euromark
Well, that is not strange, that is exactly how it is supposed to be
adding a record is also a type of modification

if you need to know if the record has been modified yet, compare created 
and modified.
if they are equal the records have not been yet modified.

mark


Am Sonntag, 9. Februar 2014 15:46:34 UTC+1 schrieb Sam Clauw:

 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+unsubscr...@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.


Re: Date modified isn't null when adding a record

2014-02-09 Thread Sam Clauw
Okay, that's totally clear to me now. At first sight, I thought there 
shouldn't be a date modified when adding a record. But that's the second 
system that do save a date create and a date modified when adding a 
record. Thanks 4 the clarification!

-- 
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+unsubscr...@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.