我正在将网站重构为Zend Framework 1.11/Doctrine 2,并且有许多包含具有下划线的列名的遗留表(例如plant_id)。 (最初是相当透彻的,但是我对教义印象深刻!)使用含有下划线的列的Doctrine2/Zend Framework 1.11
我已经成功地建立了一个学说实体(遵循WJ Gilmores的优秀着作Easy PHP和Zend Framework),但在使用Doctrine's findOne神奇取景器与包括传统的列名强调
代码
$plant = $this->em->getRepository('Entities\Plant')
->findOneByPlant_id('3571');
返回一个错误
Message: Entity 'Entities\Plant' has no field 'plantId'. You can therefore not call 'findOneByPlant_id' on the entities' repository
(顺便说一句,Doctrine否则看起来很好 - 我们创建了一个实体,并将其作为我们的列名称,并且可以检索此列。)
我们通过使用查询构建器构建查询来解决此问题。
是否还有其他更简单的解决方案,除了更改整个整个表格以删除下划线(不容易,因为有大量遗留代码,我们将不得不返回),不需要太多的代码?
Brill。很有帮助。 – C4PO 2012-03-06 11:44:09