Я бы воспользовался их удивительными до и после хуками внутри модели.
Пример:
class Model_Car extends Model_Base_Car
{
public function preDqlSelect(Doctrine_Event $event)
{
$event->getQuery()->addWhere("active = ?", 1);
}
}
Хотя я не проверял это, оно должно работать.Я использовал крючки pre и post, чтобы облегчить мою жизнь в прошлом.Например, у меня была модель, которая хотела сохранять REMOTE_ADDR при каждой вставке и обновлении, поэтому я сделал следующее, чтобы облегчить мне жизнь:
class Model_Example extends Model_Base_Example
{
public function preInsert(Doctrine_Event $event)
{
$this->created_ip = $this->_getRemoteIp();
}
public function preUpdate(Doctrine_Event $event)
{
$this->updated_ip = $this->_getRemoteIp();
}
protected function _getRemoteIp()
{
return ip2long($_SERVER['REMOTE_ADDR']);
}
}
надеюсь, это поможет!