我想了解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