Я могу установить простое значение по умолчанию, такое как строка или логическое значение, но я не могу найти, как установить defualt для объекта.Symfony2 - Установить значение по умолчанию в конструкторе сущности
В моей User.php Entity:
/**
* @ORM\ManyToOne(targetEntity="Acme\DemoBundle\Entity\Foo")
*/
protected $foo;
В конструкторе мне нужно установить значение по умолчанию для $ Foo:
public function __construct()
{
parent::__construct();
$this->foo = 1; // set id to 1
}
объект А Foo, как ожидается, и это проходит целое.
Каков правильный способ установить идентификатор объекта по умолчанию?
Это отлично работало. Спасибо за подробный ответ. Я думал, что это будет намного проще, и я не смог бы найти это документально. – hipnosis
@hipnosis Вот официальный учебник по symfony о доктрине http://symfony.com/doc/current/book/doctrine.html. И о событиях http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.html. Также вы можете проверить учебные пособия там о создании сайтов с symfony, что-то вроде http://www.intelligentbee.com/blog/tag/symfony2-jobeet/ –
Для потомков использование прослушивателя событий также отделяет класс сущности от любого конкретного ORM (в данном случае Доктрина). Таким образом, если вам когда-либо понадобится перейти на другой ORM/DBAL, объект не нужно будет изменять. Что-то нужно иметь в виду при разработке вашего приложения, как правило. –