Thanks for your response.

Unfortunately, that did not work. I'm still only getting the last element 
of the "OR" array. FWIW: Cake 1.3.10

> SELECT DISTINCT(`Equipment`.`product_id`) AS id, `Product`.`name`, 
> `Product`.`id` FROM `equipment` AS `Equipment` LEFT JOIN `products` AS 
> `Product` ON (`Equipment`.`product_id` = `Product`.`id`) WHERE 
> ((`Equipment`.`company_id` = 23) AND (`Equipment`.`deleted` = 0) AND 
> (`Equipment`.`location_id` = -2)) GROUP BY `Equipment`.`product_id` ORDER 
> BY `Product`.`name` ASC 


Any other help? 

On Tuesday, July 31, 2012 4:09:16 PM UTC-4, lavin wrote:
>
> Try something like this: 
>
> $params = array('contain' => 'Product.name', 
>                 'fields' => array('DISTINCT(Equipment.product_id) AS 
> id', 'Product.name'), 
>                 'order' => array('Product.name'), 
>                 'group' => array('Equipment.product_id'), 
>                 'conditions' => array( 
>                         'AND' => array( 
>                                 'Equipment.company_id' => 
> $this->passedArgs['company'], 
>                                 'Equipment.deleted' => 0, 
>                                 'OR' => array( 
>                                         'Equipment.location_id' => null, 
>                                         'Equipment.location_id' => -1, 
>                                         'Equipment.location_id' => -2 
>                                 ) 
>                         ) 
>                 )); 
>
> Allowing the "OR" subset to be one of the elements considered inside the 
> AND 
>
> 2012/7/31 scs:
> > I'm trying to perform what has been called a complex condition in some 
> of 
> > the documentation I have found. I want to use "AND" and "OR" in the 
> > conditions portion of my query via find('all', $params). I haven't been 
> able 
> > to find anything that seems to match my issue (although I'm sure it's 
> out 
> > there). 
> > 
> > I'm not sure what to do. I've tried many different variations of the 
> > conditions array, none seem to work. At best, the query is built with 
> only 1 
> > of the "OR" items, always the last one in the array. 
> > 
> > Here's the information: 
> > $params = array('contain' => 'Product.name', 
> >                 'fields' => array('DISTINCT(Equipment.product_id) AS 
> id', 
> > 'Product.name'), 
> >                 'order' => array('Product.name'), 
> >                 'group' => array('Equipment.product_id'), 
> >                 'conditions' => array('AND' => 
> array('Equipment.company_id' 
> > => $this->passedArgs['company'], 'Equipment.deleted' => 0,), 
> >                                       'OR' => 
> array('Equipment.location_id' 
> > => null, 'Equipment.location_id' => -1, 'Equipment.location_id' => -2)) 
> >                 ); 
> > $equipList = $this->Equipment->find('all', $params); 
> > 
> > The sql debugged is: SELECT DISTINCT(`Equipment`.`product_id`) AS id, 
> > `Product`.`name`, `Product`.`id` FROM `equipment` AS `Equipment` LEFT 
> JOIN 
> > `products` AS `Product` ON (`Equipment`.`product_id` = `Product`.`id`) 
> WHERE 
> > ((`Equipment`.`company_id` = 23) AND (`Equipment`.`deleted` = 0)) AND 
> > `Equipment`.`location_id` = -2 GROUP BY `Equipment`.`product_id` ORDER 
> BY 
> > `Product`.`name` ASC 
> > 
> > What I am looking for is: SELECT DISTINCT(`Equipment`.`product_id`) AS 
> id, 
> > `Product`.`name`, `Product`.`id` FROM `equipment` AS `Equipment` LEFT 
> JOIN 
> > `products` AS `Product` ON (`Equipment`.`product_id` = `Product`.`id`) 
> WHERE 
> > ((`Equipment`.`company_id` = 23) AND (`Equipment`.`deleted` = 0)) AND 
> > (`Equipment`.`location_id` IS NULL OR `Equipment`.`location_id` = -1 OR 
> > `Equipment`.`location_id` = -2) GROUP BY `Equipment`.`product_id` ORDER 
> BY 
> > `Product`.`name` ASC 
> > 
> > Any and all help is greatly appreciated. 
> > Thanks. 
> > 
> > -- 
> > 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 
> > [email protected] For more options, visit this 
> group at 
> > http://groups.google.com/group/cake-php 
>
>
>
> -- 
> -Carlos 
>

-- 
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
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to