我正在尝试将我的网站重写为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;
答案 0 :(得分:0)
这与MyISAM无关。即使没有外键,Doctrine也可以工作(尽管架构工具通常会强制执行它们)。使用$query->getSQL()
检查生成的DQL,并根据查询结果验证您的预期结果