В Ruby on Rails есть такая полезная вещь, как named scope, которая предоставляет элегантный и удобный способ поиска данных в модели. Для наглядности пример:

class User {:active => true}
  named_scope :inactive, :conditions => {:active => false}
end

# Использование
User.active # то же самое, что и User.find(:all, :conditions => {:active => true})
User.inactive # то же самое, что и User.find(:all, :conditions => {:active => false})

Теперь такую же штуку можно получить и в CakePHP. Для этого придется сходить вот сюда и скачать плагин NamedScope, положить его в папку с плагинами кэйка, а потом в модели написать:

var $actsAs = array(
    'NamedScope.NamedScope' => array(
        'active' => array(
            'conditions' => array(
                'User.is_active' => true
            )
        )
    )
);

а потом в контроллере можно писать так:

$active_users = $this->User->active('all');

или так:

$active_users = $this->User->find('active');

причем при каждом вызове можно добавлять все те же параметре, что и при обычном find.

$active_users = $this->User->find('active', array(
    'conditions' => array(
        'User.created' => '2008-01-01'
    ),
    'order' => 'User.name ASC'
));

параметры, переданные в find, будут иметь приоритет над определенными в named scope.