No mapping file found named inventaire.dcm.yml new Configuration
Bonjour,
je bloque sur un problème depuis plusieurs jours maintenant et je n'ai plus aucune inspiration.
Avec doctrine 2, impossible d'utiliser les fonctions telles que DATE, DATE_FORMAT,... car elles sont propre à MySQL.
Mais aujourd'hui, j'ai vraiment besoin de cette fonction et j'ai trouvé une solution qui permet de déclarer cette fonction et de la faire connaitre à doctrine.
Voici la source de ce que j'avance :
https://github.com/mapado/MysqlDoctr...ster/README.md
J'ai donc fait ce qui était dit dans la documentation, à savoir :
- mettre à jour mon composer.json et lancer la commande php composer.phar update (celle-ci s'est exécuté avec succès)
- modifier mon fichier app/config/config.yml tel que décrit
- ça se corse quand je dois créer une nouvelle configuration doctrine qui requiert pas mal de propriété :
Je fonctionne avec le format YML, mes fichiers de mapping xxxxxxx.orm.yml sont donc dans le répertoire Blabla/MonProjetBundle/Resources/config/doctrine/.
Je dois faire ma requête dans mon fichier Blabla/MonProjetBundle/Entity/InventaireRepository.php
Voici le code que j'ai :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
// Configuration
$config = new \Doctrine\ORM\Configuration();
// Proxies
$config->setProxyDir("%kernel.cache_dir%/doctrine/orm/Proxies");
$config->setProxyNamespace('Proxies');
$config->setAutoGenerateProxyClasses(($env == "dev"));
// Driver
$driverImpl = new \Doctrine\ORM\Mapping\Driver\YamlDriver(__DIR__."../Resources/config/doctrine");
$config->setMetadataDriverImpl($driverImpl);
$config->setEntityNamespaces(array('BlablaMonProjetBundle' => 'Blabla\MonProjetBundle\Entity'));
$config->addCustomStringFunction('date', 'Mapado\MysqlDoctrineFunctions\DQL\MysqlDate');
$config->addCustomStringFunction('date_format', 'Mapado\MysqlDoctrineFunctions\DQL\MysqlDateFormat');
// Caching Configuration
if ($env == "dev") {
$cache = new \Doctrine\Common\Cache\ArrayCache();
} else {
$cache = new \Doctrine\Common\Cache\ApcCache();
}
$config->setMetadataCacheImpl($cache);
$config->setQueryCacheImpl($cache);
$connectionOptions = array(
'driver' => 'pdo_mysql',
'dbname' => '...',
'user' => '...',
'password' => '...',
'host' => '127.0.0.1');
$my_em = $this->_em->create($connectionOptions, $config); |
Suite à ça, j'ai l'erreur suivante :
Code:
No mapping file found named 'Blabla.MonProjetBundle.Entity.Inventaire.dcm.yml' for class 'Blabla\MonProjetBundle\Entity\Inventaire'.
Avez-vous une idée?
Je pense que j'ai fait quelques erreurs dans la déclaration de la configuration (déjà au niveau du proxy je pense) mais j'ai besoin d'un coup de main ! :)
Merci d'avance!