IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Doctrine2 PHP Discussion :

[Data-Fixtures] Erreur lors d'un load


Sujet :

Doctrine2 PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Par défaut [Data-Fixtures] Erreur lors d'un load
    Salut,

    J'ai une erreur en faisant :
    php app/console doctrine:fixtures:load

    Fatal error: Class 'Doctrine\Common\DataFixtures\Loader' not found in /Users/spoofy/Sites/cyr/vendor/bundles/Symfony/Bundle/DoctrineFixturesBundle/Common/DataFixtures/Loader.php on line 11
    J'ai suivi la doc de symfony (http://symfony.com/doc/2.0/cookbook/..._fixtures.html) mais impossible de trouver d'où vient mon erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // in app/AppKernel.php
    //...
    public function registerBundles()
    {
        $bundles = array(
    //...
            new Symfony\Bundle\DoctrineFixturesBundle\DoctrineFixturesBundle(),
            new Symfony\Bundle\DoctrineBundle\DoctrineBundle(),
    //...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // in app/autoload.php
     
    $loader->registerNamespaces(array(
    'Symfony' => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'),
    'Sensio' => __DIR__.'/../vendor/bundles',
    'JMS' => __DIR__.'/../vendor/bundles',
    'Doctrine\\Common\\Datafixtures' => __DIR__.'/../vendor/doctrine-fixtures/lib',
    'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib',
    'Doctrine\\DBAL' => __DIR__.'/../vendor/doctrine-dbal/lib',
    'Doctrine'  => __DIR__.'/../vendor/doctrine/lib',
    //...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    // in Cyr/Frontend/DefaultBundle/DataFixtures/ORM/LoadCityData.php
    <?php
    namespace Cyr\Frontend\DefaultBundle\DataFixtures\ORM;
     
    use Doctrine\Common\DataFixtures\FixtureInterface;
    use Cyr\Frontend\DefaultBundle\Entity\City;
     
    class LoadCityData implements FixtureInterface
    {
    	public function load($manager)
    	{
    		// Bordeaux
    		$city = new City();
    		$city->setName('Bordeaux');
    		$city->setRegion('South West');
    		$city->setCountry('France');
    		$city->setCityType(1);
    		$manager->persist($city);
    		$manager->flush();
    	}
    }
    Une idée ?

  2. #2
    Membre confirmé
    Homme Profil pro
    developpeur
    Inscrit en
    Février 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : developpeur

    Informations forums :
    Inscription : Février 2010
    Messages : 54
    Par défaut
    Vérifie que ton fichier : /Users/spoofy/Sites/cyr/vendor/bundles/Symfony/Bundle/DoctrineFixturesBundle/Common/DataFixtures/Loader.php

    ressemble à cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
     
    namespace Symfony\Bundle\DoctrineFixturesBundle\Common\DataFixtures;
     
    use Doctrine\Common\DataFixtures\FixtureInterface;
    use Doctrine\Common\DataFixtures\Loader as BaseLoader;
    use Symfony\Component\DependencyInjection\ContainerInterface;
    use Symfony\Component\DependencyInjection\ContainerAwareInterface;
     
    class Loader extends BaseLoader
    {
        private $container;
     
        public function __construct(ContainerInterface $container)
        {
            $this->container = $container;
        }
     
        public function addFixture(FixtureInterface $fixture)
        {
            if ($fixture instanceof ContainerAwareInterface) {
                $fixture->setContainer($this->container);
            }
     
            parent::addFixture($fixture);
        }
    }
    Il n'y a pas de raison d'avoir un appel à la classe Loader ligne 11 puisqu'elle est définie sur cette même ligne.

    Peut-être que ça t'avancera un petit peu plus....

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Par défaut
    Citation Envoyé par lhapaipai Voir le message
    Vérifie que ton fichier : /Users/spoofy/Sites/cyr/vendor/bundles/Symfony/Bundle/DoctrineFixturesBundle/Common/DataFixtures/Loader.php

    ressemble à cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
     
    namespace Symfony\Bundle\DoctrineFixturesBundle\Common\DataFixtures;
     
    use Doctrine\Common\DataFixtures\FixtureInterface;
    use Doctrine\Common\DataFixtures\Loader as BaseLoader;
    use Symfony\Component\DependencyInjection\ContainerInterface;
    use Symfony\Component\DependencyInjection\ContainerAwareInterface;
     
    class Loader extends BaseLoader
    {
        private $container;
     
        public function __construct(ContainerInterface $container)
        {
            $this->container = $container;
        }
     
        public function addFixture(FixtureInterface $fixture)
        {
            if ($fixture instanceof ContainerAwareInterface) {
                $fixture->setContainer($this->container);
            }
     
            parent::addFixture($fixture);
        }
    }
    Il n'y a pas de raison d'avoir un appel à la classe Loader ligne 11 puisqu'elle est définie sur cette même ligne.

    Peut-être que ça t'avancera un petit peu plus....
    J'ai finalement trouvé d'ou sa venait, j'ai fait une erreur de frappe dans mon autoload.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Doctrine\\Common\\Datafixtures' => __DIR__.'/../vendor/doctrine-fixtures/lib',
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Doctrine\\Common\\DataFixtures' => __DIR__.'/../vendor/doctrine-fixtures/lib',
    Maintenant tout est ok, merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur PLS-00103 avec LOAD DATA INFILE
    Par Reivilo35 dans le forum PL/SQL
    Réponses: 3
    Dernier message: 22/03/2012, 15h59
  2. Réponses: 7
    Dernier message: 25/03/2011, 15h21
  3. Réponses: 0
    Dernier message: 14/12/2009, 16h27
  4. Erreur lors d'un Load des donnee dans ma table
    Par mr.net dans le forum DB2
    Réponses: 1
    Dernier message: 15/09/2007, 07h09
  5. petit soucis lors d'un LOAD DATA INFILE
    Par Jovial dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 04/06/2004, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo