Je viens de faire un test chez moi de ce qui suit :
1 2 3 4 5 6 7 8 9 10 11
|
// Path du fichier src/Acme/DemoBundle/Entity/User/Test.php
namespace Acme\DemoBundle\Entity\User;
class Test {
protected $id;
public function getId() {
return $this->id;
}
} |
Pour le mapping file (désolé c'est en XML) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<!-- src/Acme/DemoBundle/Resources/config/doctrine/Test.orm.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="Acme\DemoBundle\Entity\User\Test" table="test_pouet">
<id name="id" type="integer" column="id">
<generator strategy="AUTO"/>
</id>
</entity>
</doctrine-mapping> |
La commande doctrine:schema:validate me sort :
1 2 3
|
[Doctrine\Common\Persistence\Mapping\MappingException]
Class 'Acme\DemoBundle\Entity\Test' does not exist |
C'est bizarre, toi tu n'as pas de message... Et effectivement, il cherche automatiquement dans le namespace (dossier) Acme\DemoBundle\Entity.
Lorsque je déplace mon entité directement dans entity : tout fonctionne.
Donc, oublie le coup de mettre des entités dans des sous-dossiers dans le dossier Entity parce qu'il cherche automatiquement dedans (le dossier Entity).
Partager