2016-06-07 3 views
1

Ich bin ein Anfänger mit Symfony, wo ich aufgefordert wurde, eine User-Entity mit einigen Informationen zu erstellen FOSUser Alles verlief reibungslos, bis als ich versuchte, Befehl die folgende Zeile zu tunMappingException: Die Ziel-Entität UserBundle Entity userRoles kann nicht gefunden werden in 'UserBundle Entity User # userRoles'

php/bin console doctrine:schema:update --force

In diesem Moment ich

[Lehre \ ORM \ Mapping \ MappingException] den folgenden Fehler hatte
Die Ziel-Entität UserBundle \ Entity \ userRoles kann nicht in 'UserBundle \ Entity \ User # userRoles' gefunden werden.

Ich habe versucht, einige Anmerkungen zu ändern, aber da ich nicht wirklich wissen, was ich tue, das funktioniert nicht wirklich

Hier ist der Ausschnitt aus der Einheit ist

<?php 
// src/UserBundle/Entity/User.php 
namespace UserBundle\Entity; 

use FOS\UserBundle\Model\User as BaseUser; 
use Doctrine\ORM\Mapping as ORM; 
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; 
use Symfony\Component\Validator\Constraints as Assert; 

/** 
* @ORM\Entity 
* @UniqueEntity(fields="email", message="Email already taken") 
* @UniqueEntity(fields="username", message="Username already taken") 
*/ 
class User extends BaseUser{ 

    /** 
    * @ORM\Id 
    * @ORM\Column(type="integer") 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    protected $id; 

// /** 
// * @ORM\Column(type="string", length=255, unique=true) 
// * @Assert\NotBlank() 
// * @Assert\Email() 
// */ 
// protected $email; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="prenom", type="string", length=255) 
    */ 
    private $prenom; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="nom", type="string", length=255) 
    */ 
    private $nom; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="pseudo", type="string", length=255) 
    */ 
    private $pseudo; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="telephone", type="string", length=10) 
    */ 
    private $telephone; 

// /** 
// * 
// * @ORM\Column(type="string", length=64) 
// */ 
// protected $password; 

    /** 
    * @ORM\ManyToMany(targetEntity="userRoles", inversedBy="user") 
    * @ORM\JoinTable(name="userRoles") 
    * 
    */ 
    private $userRoles; 





    /** 
    * Set prenom 
    * 
    * @param string $prenom 
    * 
    * @return User 
    */ 
    public function setPrenom($prenom) 
    { 
     $this->prenom = $prenom; 

     return $this; 
    } 

    /** 
    * Get prenom 
    * 
    * @return string 
    */ 
    public function getPrenom() 
    { 
     return $this->prenom; 
    } 

    /** 
    * Set nom 
    * 
    * @param string $nom 
    * 
    * @return User 
    */ 
    public function setNom($nom) 
    { 
     $this->nom = $nom; 

     return $this; 
    } 

    /** 
    * Get nom 
    * 
    * @return string 
    */ 
    public function getNom() 
    { 
     return $this->nom; 
    } 

    /** 
    * Set pseudo 
    * 
    * @param string $pseudo 
    * 
    * @return User 
    */ 
    public function setPseudo($pseudo) 
    { 
     $this->pseudo = $pseudo; 

     return $this; 
    } 

    /** 
    * Get pseudo 
    * 
    * @return string 
    */ 
    public function getPseudo() 
    { 
     return $this->pseudo; 
    } 

    /** 
    * Set telephone 
    * 
    * @param string $telephone 
    * 
    * @return User 
    */ 
    public function setTelephone($telephone) 
    { 
     $this->telephone = $telephone; 

     return $this; 
    } 

    /** 
    * Get telephone 
    * 
    * @return string 
    */ 
    public function getTelephone() 
    { 
     return $this->telephone; 
    } 

    /** 
    * Add userRole 
    * 
    * @param \UserBundle\Entity\Role $userRole 
    * 
    * @return User 
    */ 
    public function addUserRole(\UserBundle\Entity\Role $userRole) 
    { 
     $this->userRoles[] = $userRole; 

     return $this; 
    } 

    /** 
    * Remove userRole 
    * 
    * @param \UserBundle\Entity\Role $userRole 
    */ 
    public function removeUserRole(\UserBundle\Entity\Role $userRole) 
    { 
     $this->userRoles->removeElement($userRole); 
    } 

    /** 
    * Get userRoles 
    * 
    * @return \Doctrine\Common\Collections\Collection 
    */ 
    public function getUserRoles() 
    { 
     return $this->userRoles; 
    } 
} 

Was ist falsch an diesem Code? Vielen Dank im Voraus

Antwort

2

Scheinen Sie einen Tippfehler in der Anmerkung hat, in Akkordeon mit der Unterschrift von Set Setter/Getter-Methode der targetEntity ist nicht von userRoles Klasse aber scheint von UserBundle\Entity\Role Klasse.

So die Definition wie folgt ändern:

/** 
* @ORM\ManyToMany(targetEntity="UserBundle\Entity\Role", inversedBy="user") 
* @ORM\JoinTable(name="userRoles") 
* 
*/ 
private $userRoles; 

Hope this Hilfe

+0

Danke, gelöst, dass sofort mein Problem! – Jaeger

Verwandte Themen