Sto costruendo un'applicazione Saas/Multitenant usando Symfony 2. Ho creato un sottoscrittore di eventi Doctrine per aggiungere e aggiornare il proprietario di una riga, l'utente che ha creato esso, l'utente che lo ha modificato, data e ora e così via.Symfony2 - Crea un filtro Doctrine per selezionare i dati utente correnti
E ora ho bisogno di implementare un qualche tipo di filtro in modo tale che quando un utente ha effettuato il login, può solo vedere i dati dalla sua azienda. Il mio primo pensiero era l'utilizzo di un evento preLoad di Doctrine, ma questo evento non esiste ... Per quanto ne so, devo usare i filtri Doctrine, non è vero? In tal caso, in che modo questo filtro può accedere ai dati dell'utente per leggere l'ID dell'azienda? Devo iniettarlo usando l'iniezione di dipendenza? C'è un modo standard per raggiungere il mio obiettivo?
UPDATE Quello che sto cercando è quello di creare una sorta di Dottrina plugin/gancio in modo ogni volta che chiamare qualsiasi funzione che recuperare i dati dal database (trovare, findOneBy, ecc), e l'entità sono recuperando implementa un'interfaccia particolare, una sequenza 'AND company_id =: id' aggiuntiva viene aggiunta alla query generata, quindi né il controller né il modello ricevono dati da altre società.
forse questa risposta può aiutarti: http://stackoverflow.com/a/15809800/3059764 – ferodss