Hi,
if you want a statement like
A OR (B AND C AND D)
you can do this:
$conditions = array(
'OR' =
array(
A,
array(B, C, D)
)
);
Read: Apply operator OR to the following arguments A plus
array(B,C,D). The second argument to the OR operator expands further
to an AND statement (AND operator with 3 arguments B,C,D).
Note that the AND for B, C, D is implicit. So you could also write:
$conditions = array(
'OR' =
array(
A,
array(
'AND' =
array(B, C, D)
)
)
);
You may want to take another look at the manual here
http://manual.cakephp.org/chapter/models
regarding complex find conditions.
The idea behind this is to supply conditions in polish / prefix
notation where the operator precedes the arguments, to facilitate tree-
like representation.
http://en.wikipedia.org/wiki/Polish_notation
Best,
jp
On 30 Jan., 05:43, brandags [EMAIL PROTECTED] wrote:
Hello,
I'm trying to generate a query with the following condition:
WHERE Lead.user_id = $user_id
OR (Lead.time_found BETWEEN '$start_time' AND '$end_time' AND
Lead.user_id IN ('0',NULL))
Here is the condition I'm using, but it's not giving the right result.
$conditions[] = array('Lead.user_id'=$user_id
'or'=array(
'Lead.time_found'='
'.$this-Session-read('User.start_time'),
'Lead.time_found'='
'.$this-Session-read('User.end_time'),
'Lead.user_id'=array('0',NULL)
)
);
Here is what I'm getting back:
WHERE (`Lead`.`user_id` = 3) AND (((`Lead`.`time_found` '09:00:00')
OR (`Lead`.`user_id` IN ('0', NULL) )))
It's leaving out the first start time, and switching some of the AND's
and OR's.
What am I doing wrong?
I've also tried just using BETWEEN '$value' in my query, but it ends
up putting slashes in front of the apostrophes in the sql query which
makes it invalid (ie. BETWEEN \'2008-01-01\' AND \'2008-02-01\')
Any ideas?
Thank you!
Brandon
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups Cake
PHP group.
To post to this group, send email to cake-php@googlegroups.com
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
-~--~~~~--~~--~--~---