2013-06-09 6 views
0

Я хочу получить & Список всех пользователей, принадлежащих одному и тому же idempresa, которые пользователь вошел в систему. idempresa относится к пользователям в таблице sf_guard_profile, и да, у меня есть отношение, указанное в файле schema.yml. Я думаю, что напишу метод в sfGuardUserTable.class.php, но я не уверен, что он будет работать в других словах, я не знаю, где коснуться или что с этим справиться. Может ли кто-нибудь указать мне в правильном направлении? Это метод (незавершенный):Получите и перечислите пользователей на основе idempresa зарегистрированных пользователей

public function getUsersByCompany() { 
     $user = sfContext::getInstance()->getUser()->getProfile()->getIdEmpresa(); 
     $q = $this->createQuery('g'); 

     return $q; 
} 

Любой совет?

ответ

2

Как правило, не рекомендуется использовать sfContext :: getInstance(). Прочтите это сообщение http://webmozarts.com/2009/07/01/why-sfcontextgetinstance-is-bad/.

Как насчет добавления статического метода к вашему sfGuardUserTable.class.php, например

// \lib\form\sfGuardUserTable.class.php 
static public function getUsersByIdEmpresa($idempresa) 
{ 
    //... 
    $q->andWhere('idempressa = ?', $idempresa); 

    return $q->execute(); 
} 

Затем назвав его в контроллере или где вам нужно, например,

// \app\myApp\modules\myModule\actions\action.class.php 
public function executeMyAction() { 
    $profile = $this->getUser()->getProfile(); 
    $usersRelatedByIdempresa = sfGuardUserTable::getUsersByIdempresa($profile->getIdempresa()); 

    //... 
} 
+0

получить свою точку зрения, но я заблудиться, если Я говорю о плагине 'sfDoctrineGuard', тогда вы говорите, что я должен перезаписать метод' executeIndex() 'под' admin/modules/sfGuardUser/actions'? – Reynier

+0

Это был просто пример того, как вы можете назвать это в контроллере. Вам не нужно перезаписывать действия sfGuardUser. – antony

 Смежные вопросы

  • Нет связанных вопросов^_^