Ho aderito all'ereditarietà della tabella (chiamiamolo Azione) e ho bisogno di ottenere tutti i record di Azione che soddisfano la condizione, ma i campi sono in sottoclassi? C'è modo di accedere ai campi della sottoclasse senza scrivere Native Query, ma usare DQL? (o queryBuilder)?Doctrine2 - Mapping dell'ereditarietà, interrogazione delle sottoclassi
risposta
Se si dispone di una sottoclasse, è possibile interrogare direttamente per tale sottoclasse. Le proprietà della classe genitore saranno automaticamente ereditate (duh). Credo che questo sia quello che stai cercando (basato su come ho implementato l'ereditarietà delle tabelle di classe).
class User{
private $id;
private $username;
}
class Merchant extends User{
private $bizname;
private $isActive;
}
Ora secondo voi se devo ottenere i commercianti attivi, vorrei fare le seguenti, e funziona per me:
$qb->select('m.bizname')
->from('Merchant','m')
->where('m.isActive = :flag')
->setParameter('flag',TRUE);
Sì, funziona, ma voglio -> da ('Utente', 'u') -> andWhere ('userSubClass.isActive: flag'), questo è il problema. – CappY
La query precedente fornisce a tutti gli utenti in cui il commerciante è attivo .. Pensa a questo ... quando vuoi selezionare gli utenti dove 'sottoclasse attivo '.. significa che restituirà solo l'utente di tipo sottoclasse .. quindi selezionando i commercianti che sono attivi restituisce tutte le proprietà dell'utente e del commerciante – Broncha
Sì, ma ho 5 diverse sottoclassi e ogni sottoclasse ha condizioni diverse per verificare se è attiva. Ad esempio: – CappY
- 1. interrogazione HQL oltre sottoclassi
- 2. Doctrine2: query polimorfiche: ricerca sulle proprietà delle sottoclassi
- 3. Elenco delle eccezioni di Doctrine2
- 4. Doctrine2: grafico delle dipendenze per un insieme di entità
- 5. Modifica dei valori delle variabili nelle sottoclassi?
- 6. Associazione associazione doctrine2 con condizioni
- 7. Doctrine2 utilizzando setParameters
- 8. Interrogazione delle proprietà non mappate in nibernato
- 9. Ottimizzazione Pagerfanta e Doctrine2 COUNT
- 10. utilizzando discriminator per sottoclassi di sottoclassi
- 11. Zend2 + Autenticazione Doctrine2
- 12. autototer doctrine2 con cli deve utilizzare AnnotationRegistry
- 13. Symfony2/Doctrine2 File di mapping non valido Eccezione durante il tentativo di generare entità
- 14. Doctrine2 Paginator
- 15. Doctrine2: Arbitrary aderire e singola ereditarietà delle tabelle
- 16. Ottenere i nomi delle colonne in un'entità doctrine2
- 17. Come aggiungere descrizioni delle colonne (commenti) in Doctrine2
- 18. Devo specificare anche virtuale sui metodi delle sottoclassi?
- 19. Python generico metaclasse per tenere traccia delle sottoclassi
- 20. Cosa prendere in considerazione prima della lista delle sottoclassi?
- 21. Doctrine2: OneToMany su mappato superclasse
- 22. sottoclassi pitone
- 23. NHibernate discriminati sottoclassi di una joined-subclass
- 24. Doctrine2 Inserto batch
- 25. Entità di esportazione Doctrine2 nell'array
- 26. Memorizzazione e interrogazione delle coordinate GPS in modo efficace
- 27. Mapping due classi su tavolo singolo
- 28. Doctrine DQL, ereditarietà delle tabelle di classe e accesso ai campi delle sottoclassi
- 29. Doctrine2 ManyToMany Self referencing
- 30. Raccolta personalizzata in Doctrine2
fa il campi appartengono ad una sola classe, o per diversi sottoclassi per una query? –
tutte le sottoclassi hanno una relazione con una classe diversa, ma la proprietà è sempre uguale. – CappY
Non capisco cosa stai cercando di fare esattamente. Puoi pubblicare un piccolo esemplare delle entità e ciò che vuoi interrogare? –