2013-02-10 54 views
-1

我正在嘗試將我的網站改寫爲symfony2/doctrine。 這些表使用MyISAM,因此沒有外鍵。兩個實體之間的學說關係

我簡直不能將下面的查詢轉換爲兩個實體,並使一個關係有效。是因爲我使用MyISAM嗎?

SELECT p.productid, p.price, d.description FROM product p INNER JOIN description d ON p.productid = d.productid; 

product實體我都試過,但仍然沒有去:

/** 
* @ORM\OneToOne(targetEntity="Description") 
* @ORM\JoinColumn(name="productid", referencedColumnName="productid") 
*/ 
protected $description; 
+2

您的'description'實體中有什麼?你有什麼錯誤? – cheesemacfly 2013-02-10 23:32:25

回答

0

這有什麼好做的MyISAM。即使沒有外鍵,Doctrine也可以工作(儘管模式工具通常會強制執行它們)。使用$query->getSQL()檢查生成的DQL,並根據查詢結果驗證您的預期結果。