Symfony2数据夹具

时间:2015-02-10 15:40:12

标签: symfony

非常新的Symfony2所以试图解决问题。有几张桌子。第一个叫做availability_alert。这个表有像id这样的常用内容,但重要的是要注意它没有任何链接。

第二个表是call booking_class。这个有两个字段,其中一个是availability_alert_id。该值链接到我第一个表中的id字段。

我有一个有效的应用程序,但决定将其移至Symfony。我使用现有的数据库来生成一些实体类。在我的BookingClass实体中,我有一个指向AvailabilityAlert id的链接。

/**
 * @var \AlertBundle\Entity\AvailabilityAlert
 *
 * @ORM\ManyToOne(targetEntity="\AlertBundle\Entity\AvailabilityAlert")
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="availability_alert_id", referencedColumnName="id")
 * })
 */
private $availabilityAlert;

现在由于某种原因,它将setter设置为这样的字段

public function setAvailabilityAlert(\AlertBundle\Entity\AvailabilityAlert $availabilityAlert = null)
{
    $this->availabilityAlert = $availabilityAlert;

    return $this;
}

所以我首先要确保这是正确的?

接下来,我正在做一些数据夹具,所以我这样做 $alert = new AvailabilityAlert();

然后设置其他一些零碎的东西。然后我为另一张桌做一个 $bookingClass = new BookingClass();

然而,当我尝试设置id时 $bookingClass->setAvailabilityAlert($this.$alert->getId());

它告诉我它正在期待一个AvailabilityAlert,而是获得一个String。

所以我只是想知道我在这里做错了什么?

由于

1 个答案:

答案 0 :(得分:0)

问题在于您尝试将字符串而不是AvailabilityAlert对象添加到BookingClass对象。

而不是: $bookingClass->setAvailabilityAlert($this.$alert->getId());

试试这个: $bookingClass->setAvailabilityAlert($alert);