Je travaille sur le sandbox doctrine 2 (Beta3) et j'essaie d'appliquer la convention de codage de Zend Framework en plaçant un trait de soulignement principal sur les membres de la classe privée. Lorsque je interroge Adresse, alors que ses membres privés ne sont pas soulignés, je récupère l'objet comme prévu. Lorsque j'ajoute les traits de soulignement, régénérer et repeupler la base de données, puis exécuter la même requête, j'obtiens les messages d'erreur suivants:doctrine 2 Annotations et convention de soulignement de Zend Framework
PHP Remarque: Indice indéfini: id dans ... Doctrine/ORM/Internal/Hydration/AbstractHydrator. php on line 184 PHP Erreur irrécupérable: exception non interceptée 'Doctrine \ DBAL \ DBALException' avec le message 'Type de colonne inconnu demandé.' dans ... Doctrine/DBAL/DBALException.php: 81
La requête DQL:
$q = $em->createQuery('select u from Entities\Address u where u.id = ?1');
$q->setParameter(1, '1');
$address = $q->getSingleResult();
Le ZFed Adresse Classe:
<?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;
}
}
Ah je vois 'sélectionnez u Entités \ Adresse u où u._id =? 1' fonctionne - notez le _id. Est-ce ainsi que cela fonctionne? – waigani