对 Symfony2 非常陌生,所以正在努力解决问题。有几张 table 。第一个称为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();
然后设置一些其他的零碎内容。然后我为另一张 table 做一个
$bookingClass = new BookingClass();
但是,当我尝试设置 id 时
$bookingClass->setAvailabilityAlert($this.$alert->getId());
它告诉我它正在等待 AvailabilityAlert,但它得到的是一个字符串。
所以我只是想知道我在这里做错了什么?
谢谢
最佳答案
问题在于您尝试向 BookingClass 对象添加字符串而不是 AvailabilityAlert 对象。
而不是这个:
$bookingClass->setAvailabilityAlert($this.$alert->getId());
简单地尝试一下:
$bookingClass->setAvailabilityAlert($alert);
关于Symfony2 数据装置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28435679/