Я полагаю, что более выполнимый и безопасный способ - создать новую функцию для извлечения запроса с учетом требований арендатора, это пример ... Замените MyModel именем вашей таблицы:
// lib/model/doctrine/MyModelTable.class.php
class MyModelTable extends Doctrine_Table
{
public function createTenantAwareQuery($userId)
{
$q = $this->createQuery('m')
->where('tenant_id = ', $userId);
return $q;
}
}
Затем, чтобы использовать эту новую функцию, просто вызовите:
$myVar = Doctrine_Core::getTable('MyModel')->createTenantAwareQuery()
->where('something = ', $value);
Таким образом вы создаете «Запрос Tenant Aware» при необходимости ... вы просто используете эту функцию при необходимости ... Даже в генераторе администратора есть способ в файле конфигурации переопределить метод запроса по умолчанию:
# apps/backend/modules/(module)/config/generator.yml
config:
list:
table_method: retrieveTenantAwareResult
Осталось только создать этот метод.
Надеюсь, этот ответ вам подходит =)