Sto costruendo un progetto Symfony2 e sto utilizzando gedmo/doctrine-extensions
(GitHub) per implementare l'eliminazione software. La mia domanda è se c'è un modo per "disabilitare" o "sovrascrivere" softdelete, o anche rilevare se qualcosa è stato eliminato.Symfony2/Doctrine: lettura dei dati "cancellati" quando si utilizzano le estensioni della dottrina di Gedmo
Ecco la situazione:
ho un'entità "note" che fa riferimento a un'entità "utente". Una nota specifica fa riferimento a un utente che è stato eliminato. Anche se l'utente è stato cancellato, restituisce true per la logica "definita" di TWIG e può anche restituire l'id dell'utente eliminato. Tuttavia, se richiedo ulteriori informazioni (incluso il parametro "deletedAt" che indica se è stato eliminato o meno) ottengo un errore di 500 "Entità non trovata".
Poiché i dati sono effettivamente ancora lì, e poiché la nota stessa non è stata cancellata, mi piacerebbe comunque dire chi ha scritto la nota, anche se l'utente è stato cancellato.
È possibile? In caso contrario, come posso rilevare correttamente se qualcosa è stato eliminato? Come ho detto, $note->getUser()
recupera ancora un oggetto e restituisce true per qualsiasi confronto null/"è definito".
Questa è una limitazione nota Doctrine2, vedere https://github.com/doctrine/doctrine2/issues/4543 – PowerKiKi