Have you try making joins intead of subselects? the subselects are not
recommended because they usually are very slow. Joins are really
faster.

Try with something like this;

$options = array(
  'recursive'=>1,
  'conditions'=>array(
    'Encounter.encounterStartTimeStamp >= 2010-08-26'
  ),'joins'=>array(
    array(
      'type'=>'INNER',
      'table' => 'entryReasons',
      'alias' => 'entryReason',
      'conditions'=>array(
        'Encounter.entryReason_id=entryReason.id AND
`entryReason`.`ReasonName` LIKE "SUB%"'
      )
    )
  )
);

$this->Model->find('all',$options);


Cheers!, Eugenio Fage


On 27 ago, 21:59, milimber <milim...@gmail.com> wrote:
> I need to translate this query into a find() statement
>
> select id, `encounterStartTimeStamp`, `entryReason_id` from
> `encounters` where encounterStartTimeStamp >= '2010-08-26' and
> `encounters`.`entryReason_id` in (SELECT `entryReasons`.`ID` FROM
> `entryReasons` WHERE `ReasonName` LIKE "SUB%")
>
> I have looked over the docs for the find function and i see the
> example of using an array to run the SELECT IN: array(    "Post.title"
> => array("First post", "Second post", "Third post")) But since my
> SELECT IN is a query its self im not sure on how to proceed.  I have
> tried:
>
> $conditions = array('Encounter.encounterStartTimeStamp >=' =>
> '2010-08-26',
>                                 'Encounter.entryReason_id' => 'SELECT
> `entryReasons`.`ID` FROM `entryReasons` WHERE `ReasonName` LIKE "SUB
> %"');
>
> Im kinda lost here.. any help would be appreciated
>
> thanks

Check out the new CakePHP Questions site http://cakeqs.org and help others with 
their CakePHP related questions.

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