2014-03-13 28 views
2

設置ManyToOne關係的外部ID而不會獲取對象我正在使用SF2和Doctrine2

我有一個實體Wheel,它與實體Car有ManyToOne關係。

我想要做這樣的事情在一個服務:

​​

在其他方面,我希望能夠僅通過使用汽車的ID鏈接WheelCar,沒有得到完整的對象(因爲我不需要它:我只需要這個ID,我已經擁有它了)。

我該怎麼做?

+0

你真的不應該。 ORM處理對象。您將對象添加到其他對象,並且如果您進行延遲加載,則屬性只會在請求後從數據庫中提取。如果你想使用ORM,不要編程,就好像它只是另一個SQL數據庫。 – k0pernikus

回答

5

獲取對汽車

$carReference = $entityManager->getReference('MyBundle:Car',$carId); 
$wheel->setCar($carReference); 

參考請記住,在ORM的O代表對象。嘗試擺脫考慮數據庫表ID的習慣。

+0

非常有趣,這個解決方案是否向SQL服務器發出請求? – Hammerbot

+0

沒有。學說假定您使用有效的carId。 – Cerad

相關問題