Bonjour, je souhaite réaliser une jointure entre mon entité produit et mon entité fournisseur, seulement, tous me semble ok mais sa ne marche pas ..
Mon erreur :
Could not resolve type of column "id" of class "AppBundle\Entity\Colombus\Provider" Voici le mapping de l’entité Produit :
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 40 41 42 43 44 45 46 47 48 49 50 | <?php namespace AppBundle\Entity\Colombus; use Doctrine\ORM\Mapping as ORM; /** * Product * * @ORM\Table(name="product") * @ORM\Entity(repositoryClass="AppBundle\Repository\ProductRepository") */ class Product { /** * @var int * * @ORM\Column(name="reference_produit", type="integer") * @ORM\Id */ private $id; /** * @var string * * @ORM\Column(name="designation_longue_du_produit", type="string", length=255) */ private $description; /** * @var string * * @ORM\Column(name="designation_courte_du_produit", type="string", length=255) */ private $descriptionShort; /** * @var string * * @ORM\Column(name="code_a_barre", type="string", length=255) */ private $barCode; /** * @var string * * @ORM\ManyToOne(targetEntity="Provider") * @ORM\JoinColumn(name="code_fournisseur_principal", referencedColumnName="id") */ private $provider; |
Mapping de l’entité fournisseur : Je vous épargne les autres attributs :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php namespace AppBundle\Entity\Colombus; use Doctrine\ORM\Mapping as ORM; /** * Provider * * @ORM\Table(name="provider") * @ORM\Entity(repositoryClass="AppBundle\Repository\ProviderRepository") */ class Provider { /** * @var int * * @ORM\Column(name="code_fournisseur", type="string", length=255) * @ORM\Id */ private $id; |
Le controlleur :
1 2 3 4 5 6 7 8 9 | public function buildOrderAction(Request $req, SessionInterface $session){ $em = $this->getManager($session->get('em')); $products = $em->getRepository('AppBundle\Entity\Colombus\Product')->find(3); dump($products); return $this->render('AppBundle::creation/create_order.html.twig',[ 'products' => $products ]); } |
Si sa peux aussi vous aidez :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public function getManager($dbname){ $paths = array(__DIR__ . '/AppBundle/Entity/Colombus'); $isDevMode = false; $conn = array( 'dbname' => $dbname, 'user' => 'root', 'password' => '', 'host' => '127.0.0.1', 'driver' => 'pdo_mysql', 'charset' => 'utf8', ); $config = Setup::createConfiguration($isDevMode); $driver = new AnnotationDriver(new AnnotationReader(), $paths); AnnotationRegistry::registerLoader('class_exists'); $config->setMetadataDriverImpl($driver); $em = EntityManager::create($conn, $config); return $em; } |
Merci d’avance
+0
-0