Problem solved, I worked out the issue. I have a few spots in my layout 
that display dynamic data and I usually use Jquery $('#element').load() to 
populate those spaces. I threw $this->News->get(); into the AppController 
beforeFilter to temporarily retrieve the needed data as I worked on 
styling, etc. When I got around to creating my JS file and removed the code 
from beforeFilter the problem immediately went away. To confirm I put the 
code back and the problem returned. Here and there I'll use the 
AppController to house some shared logic but cannot think of a time I tried 
to retrieve data through it (excluding this time). Generally I'll use 
Jquery and/or view blocks to utilize or extend my existing 
views/controllers. Anyhow, I suppose I never gave it much thought and it's 
probably a bit unconventional but is fetching data through the 
AppController really enough to break your app? There are plenty of times I 
don't understand things as well I think or would like to but I didn't think 
using the  AppController in such a way was basically throwing a wrench into 
the works. I feel like I'm still missing something here which is generally 
the case :)

On Monday, October 21, 2013 1:26:38 PM UTC-4, CrotchFrog wrote:
>
> I ran into an issue trying to save a datetime field and I haven't been 
> able to figure out why it's not saving (not failing).
> Database set up is Ubuntu Server 12.04 LTS w/ Percona Server 5.6 -- I'm 
> using Cake 2.4.1
>
> //table set up
>
> DROP TABLE IF EXISTS `news`;
> CREATE TABLE `news` (
>   `id` int(11) NOT NULL AUTO_INCREMENT,
>   `user_id` int(11) NOT NULL,
>   `title` tinytext NOT NULL,
>   `article` text NOT NULL,
>   `start` datetime NOT NULL,
>   `stop` datetime NOT NULL,
>   `created` datetime NOT NULL,
>   `modified` datetime NOT NULL,
>   PRIMARY KEY (`id`)
> ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=latin1;
>
> Before saving I convert user input into a savable format. I tried the 
> conversion in both controller and model beforeSave. 
>
> // conversion 
>
> $xstart = explode('-', $this->request->data['News']['start']);
> $start = strtotime($xstart[0].' '.$xstart[1]);
> $date = date('Y-m-d H:i:s', $start);            
> $this->request->data['News']['start'] = $date;
>             
> $xstop = explode('-', $this->request->data['News']['stop']);            
> $stop = strtotime($xstop[0].' '.$xstop[1]);
> $expire = date('Y-m-d H:i:s', $stop);            
> $this->request->data['News']['stop'] = $expire;
>
> // debug request data
>
> array(
>       'News' => array(
>               'start' => '2013-10-21 13:13:00',
>               'stop' => '2013-10-22 21:00:00',
>               'title' => 'Test Article Title',
>               'article' => 'Test Article Body',
>               'user_id' => '5'
>       )
> )
>
>
> The request does not fail but it also does not save to DB.
>
>
> // To test what's happening bypass conversion and throw together quick data 
> array
>
>
> $this->request->data = array(
>                     'News' => array(
>                         'title' => 'this is a title',
>                         'article' => 'this is an article',
>                         'start' =>  '2013-10-22 13:00:00',
>                         //'stop' => '2013-10-22 13:00:00',
>                     ));
>
>
> Data saves fine as long as 'stop' key is not in the array. As soon as I 
> include the key, nothing saves (I changed the column name a few times 
> thinking perhaps there was an issue with the name but it didn't help). 
>
>
> If I change the array to use converted data, ie. 'start' => $date it will not 
> save. Tried casting $date as string, it didn't help. 
>
>
> So, using either formatted date from converted data will not save. My test 
> array saves as long as I don't include the 'stop' key or try to include 
> converted data. 
>
> I checked all my error logs but there is nothing there. I was sure I'm 
> overlooking something simple but I just don't see it. 
>
>
> I'm stumped (or perhaps more frustrated at this point).
>
>
> Any help is appreciated. 
>
>
>
>
>
>

-- 
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.

Reply via email to