Ich benutze Gedmo Erweiterung zusätzlich mit Symfony 3.2 und Doctrine 2.5.6 und ich stoße auf ein Problem. Ich kann Gedmo \ Blameable und UniqueEntity Constraint nicht zusammen arbeiten lassen. Tatsächlich ist das beschuldigte Feld zur Validierungszeit noch null. Gibt es einen Weg, um es zu funktionieren oder eine mögliche Umgehung?Verwenden Sie UniqueEntity auf einem Gedmo Blameable Feld
Hier ist meine Einheit
/**
* @UniqueEntity(
* fields={"author", "question"},
* errorPath="question",
* message="This author already has an answer for that Question"
*)
* @ORM\Entity
*/
class TextAnswer
{
/**
* @ORM\ManyToOne(targetEntity="User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
* @Gedmo\Blameable(on="create")
*/
private $author;
/**
* @Assert\NotNull()
* @ORM\ManyToOne(targetEntity="Question", inversedBy="textAnswers")
* @ORM\JoinColumn(name="question_id", referencedColumnName="id")
*/
private $question;
}
Dank
EDIT: SOLUTION
Anstatt manuell den Benutzereinstellungen (die Gedmo \ tadelnswert Interessen entfernt), ich meine eigene Entität Validator erstellt . Ich gebe es Doktrin und Token-Speicher als Argumente, so dass es eine Abfrage auf db machen kann, um meine Kriterien mit dem aktuell verbundenen Benutzer (der später von Gedmo \ Blameable verwendet wird) zu validieren.
Dachte das war in einer fremden Sprache zuerst _EinheitEinheit Gedmo Blameable_ – AbraCadaver