I'm working on what I guess I would consider the very low end of a
complex find and yet I can't seem to get it quite right.

In my Alert model, I'm trying to find all of the alerts of a
particular type whose start date is null or less than NOW and whose
end date is null or greater than NOW:

return $this->find (
        'list',
        array (
                'fields' => array ( 'Alert.message' ),
                'conditions' => array (
                        'Alert.alert_subject_id' => strtoupper ( $subject ),
                        'OR' => array (
                                'Alert.start_date'     => null,
                                'Alert.start_date <= ' => date ( 'Y-m-d H:i:s' )
                        ),
                        'OR' => array (
                                'Alert.end_date'       => null,
                                'Alert.end_date >= '   => date ( 'Y-m-d H:i:s' )
                        )
                )
        )
);

The SQL I get out seems to ignore the start_date conditions, but
includes the end_date conditions as I'd expect. If I switch the order,
then the end_date conditions are ignored and the start_date conditions
are translated to SQL as I'd expect. In my debug output, here's what I
get for this particular find() syntax (formatted for some semblance of
readability):

SELECT
   `Alert`.`id`,
   `Alert`.`message`
FROM `alerts` AS `Alert`
WHERE
   `Alert`.`alert_subject_id` = 'TICKET'
   AND (
      (`Alert`.`end_date` IS NULL) OR (`Alert`.`end_date` >=
'2009-01-07 15:54:09')
   )

As you can see, no mention of the start_date conditions at all. Am I
missing an array or something? Have I been looking at this too long to
see something else that's absurdly obvious?  I'm using the final
release of v1.2.

Any additional eyeballs would be a much appreciated sanity check.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to