非常新的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。
所以我只是想知道我在这里做错了什么?
由于
答案 0 :(得分:0)
问题在于您尝试将字符串而不是AvailabilityAlert对象添加到BookingClass对象。
而不是:
$bookingClass->setAvailabilityAlert($this.$alert->getId());
试试这个:
$bookingClass->setAvailabilityAlert($alert);