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

Symfony PHP Discussion :

The class 'Ma Classe' was not found in the chain configured namespaces App Entity Main, FOS UserBundle Model [4.x]


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut The class 'Ma Classe' was not found in the chain configured namespaces App Entity Main, FOS UserBundle Model
    Bonjour à tous,
    J'ai réalisé une architecture multiconnexion(multi base de données) pour mon projet symfony4. J'ai créé un ApiController.php pour changer de connexion en utilisant "/ {db}" afin que je puisse l'utiliser dans d'autres controllers :

    Nom : 77.PNG
Affichages : 5640
Taille : 21,1 Ko

    ApiController.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     $this->em=$em;
            $this->db=$requestStack->getCurrentRequest()->attributes->all()['db'];
            //$dbName=$requestStack->getCurrentRequest()->attributes->all()['db'];
     
            /** @var DossierConnection $connection */
     
            $connection=$managerRegistry->getConnection('dossier');
            $connection->changeParams($this->db, $this->dbUser, $this->dbPassword);
            file_put_contents('connection.txt',$connection);
            $connection->reconnect();
    ApiTiersController.php :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
    namespace App\Controller\Api\Dossier;
     
    use App\Entity\Dossier\Tiers;
    use Symfony\Component\HttpFoundation\JsonResponse;
    use Symfony\Component\HttpFoundation\RedirectResponse;
    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Component\Routing\Annotation\Route;
     
    /**
     * @Route("/{db}/tiers")
     */
    class ApiTiersController extends ApiController
    {
        /**
         * @Route("/enregistrer", name="api_tiers_enregistrer", methods={"POST"})
         * @param Request $request
         * @return JsonResponse|RedirectResponse
         */
        public function enregistrer( Request $request)
        {
            $data = json_decode($request->getContent(), true);
     
     
                $tiers = new Tiers();
                $tiers->setRs($data['rs']);
     
     
                try {
                    $this->em->persist($tiers);
    //                $this->em->flush();
                } catch (\Exception $e) {
                    return new JsonResponse(["Ajout Tiers" => "error on persisting ".$e->getMessage()], 500);
                }
                return new JsonResponse(["Ajout Tiers" => "ok"], 200);
            }
     
     
    }
    Tiers.php

    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
    <?php
     
        namespace App\Entity\Dossier;
     
        use Doctrine\ORM\Mapping as ORM;
     
        /**
         * @ORM\Entity(repositoryClass="App\Repository\Dossier\TiersRepository")
         */
        class Tiers
        {
            /**
             * @ORM\Id()
             * @ORM\GeneratedValue()
             * @ORM\Column(type="integer")
             */
            private $id;
    et quand j'appel à : http://127.0.0.1:8000/api/base1/tiers/enregistrer je reçois ce message d'erreur :

    { "Ajout Tiers": "error on persisting The class 'App\Entity\Dossier\Tiers' was not found in the chain configured namespaces App\Entity\Main, FOS\UserBundle\Model" }

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    bonjour,

    sûrement un problème de config de tes entités managers(doctrine.yaml ). Avec 2 BD, chacune des entity managers doit pouvoir définir son namespace(prefix) et le dossier dans lequel sont situés les entités.

    la configuration du fichier doctrine.yaml pour une multidabase
    https://symfony.com/doc/current/doct..._managers.html

  3. #3
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Non c'était pas ça car j'ai suivi le même tuto et j'ai la même config.

    J'ai rajouté un avant le persist et ça marche mnt !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/01/2015, 16h49
  2. [Zip] Class ZipArchive not found
    Par Sayrus dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 07/06/2007, 16h04
  3. classe .cls not found
    Par iznogoud36 dans le forum Erreurs - Avertissements
    Réponses: 1
    Dernier message: 07/03/2007, 23h55
  4. Réponses: 1
    Dernier message: 09/02/2007, 14h59
  5. [TOMCAT 5.0 - JSP] Load: class XXX not found
    Par Hoegaarden dans le forum Tomcat et TomEE
    Réponses: 12
    Dernier message: 20/10/2005, 09h59

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