Symfony2 - 处理对象的正确方法

时间:2015-02-15 15:39:44

标签: php symfony doctrine-orm

我有完美的工作,但我想知道在阅读this之后我是否应该采取不同的方式

基本上,我有一个名为AvailabilityAlert的Entity类。目前,这几乎是一个静态的实体,它所拥有的唯一领域与它本身有关。

然后我有一个名为FlightNumbers的实体类,其中有

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

所以$ availabilityAlert是一个指向AvailabilityAlert Entity类中id字段的链接。

所以这一切都很好,一个可用性有一个或多个FlightNumber。根据那篇文章,我应该在我的AvailabilityAlert类中显示它。所以这个班级应该

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

然后__construct将它添加到ArrayCollection中?如果是这样,这样做有什么好处?

正如我所说,一切都像我现在拥有的那样完美。但是,我想学习正确的做事方式。

1 个答案:

答案 0 :(得分:0)

在__construct上添加ArrayCollection允许您使用Collection接口的方法,如add,remove,contains,...

使用新创建的实体时,这可以派上用场,例如

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