私はDoctrine2(Beta3)サンドボックスを使用して作業しており、プライベートクラスのメンバーに先頭のアンダースコアを配置するというZendFrameworkコーディング規約を適用しようとしています。アドレスを照会すると、そのプライベートメンバーには下線が引かれていませんが、期待どおりにオブジェクトを取得します。下線を追加し、データベースを再生成して再入力してから、同じクエリを実行すると、次のエラーメッセージが表示されます。
PHPの通知:未定義のインデックス:id in ... Doctrine / ORM / Internal / Hydration / AbstractHydrator.php on line 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;
}
}