Saturday, September 3, 2011

Re: saveAll not working

Yes, it is the sql dump at the bottom.  You can use it to check if the query is actually being sent to mysql or CakePHP is simply refusing to do it.

Here's how I would go about fixing it :

1. Check Sql dump if insert is actually being performed
       -  If yes, find problems in the query
       -  If no, go to step 2

2. Check that you have: var $hasMany=array('Answer'); in the Application model and that you have a field in the "answers" table called "application_id".
       - If no, fix it and try again
       - If yes, go to step 3

3. No sql query means CakePHP is refusing to perform the insert.  Since you are using validation, it could mean that it is not passing validation.
   
      Replace : $this->Application->saveAll($this->data);

     with: 
               if(!$this->Application->saveAll($this->data))
               {
                    $invalidFields=$this->Application->invalidFields();
                    if(empty($invalidFields))$invalidFields=$this->Application->Answer->invalidFields();
                 
                   echo pr($invalidFields);
                   exit();
               }


Teddy

On Sat, Sep 3, 2011 at 11:18 AM, Dwayne Hanekamp <dwaynehanekamp@gmail.com> wrote:
Thanks for all the response!

Teddy,
Yes this is a copy of the print_r, though i changed the parameters to
make it more clear.
Where can i find the sqllog? Is that the sql dump on the bottom?

Stephen,
It really is possible, i've seen some tutorials on it.

John,
I am not calling model::create() before it
Yes, my parentmodel has validation.

Dwayne



On 2 sep, 18:39, John Hardy <john.c.ha...@gmail.com> wrote:
> Are you calling
> Model::create()
> before you atempt to save the record?
> Is your parent model validating?
>
> I use save all a bunch and make it a habbit of checking these things.
>
> Saveall works a-ok ;)
>
> Sent from my iPhone
>
> On Sep 2, 2011, at 9:29 AM, Stephen Latham <ste.lat...@gmail.com> wrote:
>
>
>
>
>
>
>
> > If you have a read of the manual it says you can either save multiple records of a single model using saveall, or a model and it's associated records.  You are trying to do both at once with the save all.  That's my understanding of it anyway - I had a similar issue with saveall so ended up just using foreach loops to save the data instead.  I have used saveall where I wanted to do one or the other but never both at the same time as you are trying.
>
> > Cheers Steve.
>
> > On 2 Sep 2011, at 11:35, Dwayne Hanekamp <dwaynehanek...@gmail.com> wrote:
>
> >> Hey all,
>
> >> I'm building an application on which people need to fill in some
> >> information and answer some questions.
> >> I have two database tables:
> >> Applications / Answers, Applications has a 'hasMany'-relationship with
> >> Answers. The array coming from my form looks this way:
>
> >> Array
> >> (
> >>   [Application] => Array
> >>       (
> >>           [name] => test
> >>           [email] => t...@test.nl
> >>           [name] => test
> >>           [link] => test
> >>       )
>
> >>   [Answer] => Array
> >>       (
> >>           [0] => Array
> >>               (
> >>                   [question_id] => 1
> >>                   [answer] => test
> >>               )
>
> >>           [1] => Array
> >>               (
> >>                   [question_id] => 2
> >>                   [answer] => test
> >>               )
>
> >>       )
>
> >> )
>
> >> When i try to do: $this->Application->saveAll($this-data); it simply
> >> doesn't work.
>
> >> Does anyone have an idea?
>
> >> Thanks in advance!
>
> >> Dwayne
>
> >> --
> >> Our newest site for the community: CakePHP Video Tutorialshttp://tv.cakephp.org
> >> Check out the new CakePHP Questions sitehttp://ask.cakephp.organd help others with their CakePHP related questions.
>
> >> To unsubscribe from this group, send email to
> >> cake-php+unsubscribe@googlegroups.com For more options, visit this group athttp://groups.google.com/group/cake-php
>
> > --
> > Our newest site for the community: CakePHP Video Tutorialshttp://tv.cakephp.org
> > Check out the new CakePHP Questions sitehttp://ask.cakephp.organd help others with their CakePHP related questions.
>
> > To unsubscribe from this group, send email to
> > cake-php+unsubscribe@googlegroups.com For more options, visit this group athttp://groups.google.com/group/cake-php

--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.


To unsubscribe from this group, send email to
cake-php+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php

--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.
 
 
To unsubscribe from this group, send email to
cake-php+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php

No comments: