我想了解Symfony2,但有些东西对我来说没有意义。我倒过来设计了一个现有的数据库来生成我的实体,所以也许这就是问题所在。Symfony2和Doctrine - ManyToOne
我有一个名为availability_alert的表,没什么特别的,几个字段包括一个id(这是主键)。这张表没有其他任何链接。
然后我有第二个表叫做booking_class,再次没什么特别的,但它确实有$ availabilityAlert字段,它链接到availability_alerts表id。
实质上,可用性警报可以具有一个或多个预订等级。
现在在我的预订类实体,我有链接
/**
* @var \AlertBundle\Entity\AvailabilityAlert
*
* @ORM\ManyToOne(targetEntity="AlertBundle\Entity\AvailabilityAlert")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="availability_alert_id", referencedColumnName="id")
* })
*/
private $availabilityAlert;
所以这一切看起来OK。它的制定者虽然出来了,像这样
public function setAvailabilityAlert(\AlertBundle\Entity\AvailabilityAlert $availabilityAlert = null)
{
$this->availabilityAlert = $availabilityAlert;
return $this;
}
所以,似乎采取AvailabilityAlert对象作为参数,而不是AvailabilityAlert ID?
因此,与上述,我假设在我的控制器做这样的事情不会工作?
$alert = new AvailabilityAlert();
$bookingClass = new BookingClass();
$bookingClass->setAvailabilityAlert($alert->getId());
有人可以给我一些建议,说明这里的事情是否正确,或者如果我应该做别的事情?基本上,AvailabilityAlert应该是一个静态表,其他表链接到这个表。
任何意见赞赏。
谢谢
也许阅读说明书:http://symfony.com/doc/current/book/doctrine.html? Doctrine 2是一个对象关系管理器。你需要花一些时间了解它的功能。另外,您应该回答问题,而不是仅仅提出新问题。更好的机会让人来帮助你。 – Cerad 2015-02-10 23:28:54