2015-02-15 3 views
1

У меня есть вещи, прекрасно работает, но мне интересно, если я должен делать это по-другому после прочтения thisSymfony2 - Правильный способ обработки объектов

По сути, у меня есть класс Entity под названием AvailabilityAlert. На данный момент это довольно статическая Entity, единственные поля, которые она имеет в ней, относятся к самому себе.

Я тогда класс Entity под названием FlightNumbers, и в нем у меня есть

/** 
* @ORM\ManyToOne(targetEntity="Nick\AlertBundle\Entity\AvailabilityAlert", inversedBy="flightNumbers") 
* @ORM\JoinColumn(name="availability_alert_id", referencedColumnName="id") 
*/ 
private $availabilityAlert; 

Так $ availabilityAlert является ссылка на идентификатор поля в классе AvailabilityAlert Entity.

Так что все это прекрасно работает, AvailabilityAlert имеет один или несколько FlightNumbers. Согласно этой статье, я должен показать это в классе AvailabilityAlert. Так что это должно иметь класс

/** 
* @ORM\OneToMany(targetEntity="Nick\AlertBundle\Entity\FlightNumbers", mappedBy="availabilityAlert") 
*/ 
protected $flightNumbers; 

И тогда __construct, который добавляет к ArrayCollection? Если да, то в чем преимущество этого?

Как я уже сказал, все работает отлично, как у меня в настоящее время. Тем не менее, я хочу узнать правильный способ делать что-то.

ответ

0

Добавление ArrayCollection на __construct позволяет использовать методы интерфейса Collection, как добавить, удалить, содержит, ...

Это может пригодиться при использовании только что созданный объект, например

(new FlightNumbers)->getAvailabilityAlert()->add(new AvailabilityAlert);