Моя цель - создать многоразовые черты для общих задач в приложениях symfony2. Например, я хочу иметь слабую черту, когда добавляется к моей сущности, автоматически добавляется поле для заполнения и прослушиватель для обновления каждого объекта. Моя проблема возникает, когда вы пытаетесь унаследовать аннотации доктрины от признаков.Символьные черты и аннотации Doctrine не работают должным образом
Возьмем такой пример:
/**
* @UniqueEntity("name")
*/
trait Sluggable {
/**
* @Assert\NotBlank()
* @ORM\Column(type="string", length=255, unique=true)
*/
protected $name;
}
, и я использую его как этот
/**
* @ORM\Table(name="seller")
*/
class Seller implements SluggableInterface {
use Sluggable;
}
и когда я пытаюсь создать Seller
из формы, то @UniqueEntity("name")
не работает, и проверка не за работой. Мне нужно вручную добавить его в класс Seller
, чтобы работать, и я не хочу этого. Благодарю.
Класс не наследует аннотации из признака. Но для этого вы, вероятно, можете использовать [расширения доктрины: sluggable] (https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/sluggable.md). – Muriano