I've tried the hasOne trick, but it doesn't seem to do the job I
need.
Basically because I have a chain of a few tables I would like to apply
some condition to each one of the tables and get the relevant result.
While in this case all the conditions get applied properly, the end
result comes with "extra" data. I guess I need to wait for the
'type'=>'INNER' fix because I just don't see any other way to create
multiple joins with conditions in one query...

Temporary *ugly* solution is to walk through the resulting array and
unset all the empty arrays returned by the query, then do a manual
count or grab the needed data :(

thanks for any further suggestions...

On Mar 4, 1:59 pm, Baz <[EMAIL PROTECTED]> wrote:
> I'm guessing User hasMany Assignements?
>
> You're looking for  an INNER JOIN. Currently, CakePHP doesn't support
> this. You can simulate it, but binding a dummy hasOne on your User
> model with the Assignment. You'd need to call it something else
> (hasOne AssignmentDummy), and add a condition: "Assignment.id IS NOT
> NULL" (I 
> think).http://groups.google.com/group/cake-php/browse_thread/thread/77cc0617...
>
>
>
> On Tue, Mar 4, 2008 at 12:01 PM, teknoid <[EMAIL PROTECTED]> wrote:
>
> >  Hi,
> >  I am using bindable behavior and trying to construct a conditional
> >  query, by passing conditions to mutiple models.
> >  For example, I have this query:
>
> >  $result = $this->User->find('all', array('restrict' =>
> >  array(                                                          
> > 'Assignment' => array('conditions' =>
> >                                         'Assignment.IsAccepted=1',
> >                                                 'fields' =>                 
> >                                                     'Assignment.UserID',
> >                 'Document' => array('conditions' =>                         
> >                                                     'Document.ProfileID IN
> >  (38)',                                                                  
> > 'fields' => 'Document.ProfileID',
> >                 'Item' => array('fields' => 'ItemProd.ItemInfoID',          
> >                                     'ItemInfo'
> >  => array('conditions' =>                                                   
> >                                      'ItemInfo.ItemText LIKE "W
> >  %"')))))));
>
> >  The query will match and return the correct fields for each model, but
> >  also this query returns "extra" data with empty arrays. For example it
> >  will still return all users, even though their relevant
> >  Assignment.IsAccepted does not equal to 1 (in that case it will simply
> >  return an empty array for that user's assignment as part of the
> >  overall resultset). Ideally it would be great to receive only the User
> >  (and related models) only when all of the conditions in the above
> >  query are met.
>
> >  What could be done to make that happen?- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to