我正在研究学说 2 (Beta3) 沙箱,并尝试将 Zend Framework 编码约定应用到私有类成员中放置前导下划线。当我查询地址时,虽然它的私有成员没有下划线,但我按预期检索对象。当我添加下划线、重新生成并重新填充数据库,然后运行相同的查询时,我收到以下错误消息:
PHP 通知:未定义索引:id in ... Doctrine/ORM/Internal/Hydration/AbstractHydrator.php 第 184 行
PHP 致命错误:未捕获的异常“Doctrine\DBAL\DBALException”与消息“请求的未知列类型”。在 ... Doctrine/DBAL/DBALException.php:81
DQL 查询:
$q = $em->createQuery('select u from Entities\Address u where u.id = ?1');
$q->setParameter(1, '1');
$address = $q->getSingleResult();
ZFed 地址类:
<?php
namespace Entities;
/** @Entity @Table(name="addresses") */
class Address
{
/**
* @Id @Column(type="integer", length=11, name="id")
* @GeneratedValue(strategy="AUTO")
*/
private $_id;
/** @Column(type="string", length=255, name="street") */
private $_street;
public function getId()
{
return $this->_id;
}
public function getStreet()
{
return $this->_street;
}
public function setStreet($street)
{
$this->_street = $street;
}
}