在Symfony中找不到目标实体


The target-entity cannot be found in Symfony

我正在使用symfony,但我无法解决这个问题

在"Acme''UserBundle''Entity''User#group"中找不到目标实体 Acme''UserBundle''Entity''Groups。

我的实体的简化是:

用户.php

 namespace Acme'UserBundle'Entity;
use Symfony'Component'Security'Core'User'UserInterface;
use Symfony'Component'Security'Core'User'AdvancedUserInterface;
use Doctrine'Common'Collections'ArrayCollection;
use Doctrine'ORM'Mapping as ORM;
/**
 * Acme'UserBundle'Entity'User
 *
 * @ORM'Table(name="User")
 * @ORM'Entity(repositoryClass="Acme'UserBundle'Entity'UserRepository")
 */
class User implements AdvancedUserInterface
{
    /**
     * @ORM'Column(name="id", type="integer")
     * @ORM'Id()
     * @ORM'GeneratedValue(strategy="AUTO")
     */
    private $id;
    /**
     * @ORM'Column(name="username", type="string", length=25, unique=true)
     */
    private $username;
    /**
     * @ORM'Column(name="salt", type="string", length=40)
     */
    private $salt;
    /**
     * @ORM'Column(name="password", type="string", length=40)
     */
    private $password;
    /**
     * @ORM'Column(name="email", type="string", length=60, unique=true)
     */
    private $email;
    /**
     * @ORM'Column(name="isActive", type="boolean")
     */
    private $isActive;
    /**
     * @ORM'ManyToMany(targetEntity="Group", inversedBy="users")
     *
     */
    private $groups;
    public function __construct()
    {
        $this->isActive = true;
        $this->salt = base_convert(sha1(uniqid(mt_rand(), true)), 16, 36);
        $this->groups = new ArrayCollection();
    }



    // ...
    public function getRoles()
    {
        return $this->groups->toArray();
    }
    public function eraseCredentials()
    {
    }
    public function getUsername()
    {
        return $this->username;
    }
    public function getSalt()
    {
        return $this->salt;
    }
    public function getPassword()
    {
        return $this->password;
    }
      public function isAccountNonExpired()
    {
        return true;
    }
    public function isAccountNonLocked()
    {
        return true;
    }
    public function isCredentialsNonExpired()
    {
        return true;
    }
    public function isEnabled()
    {
        return $this->isActive;
    }
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }
    /**
     * Set username
     *
     * @param string $username
     * @return User
     */
    public function setUsername($username)
    {
        $this->username = $username;
        return $this;
    }
    /**
     * Set salt
     *
     * @param string $salt
     * @return User
     */
    public function setSalt($salt)
    {
        $this->salt = $salt;
        return $this;
    }
    /**
     * Set password
     *
     * @param string $password
     * @return User
     */
    public function setPassword($password)
    {
        $this->password = $password;
        return $this;
    }
    /**
     * Set email
     *
     * @param string $email
     * @return User
     */
    public function setEmail($email)
    {
        $this->email = $email;
        return $this;
    }
    /**
     * Get email
     *
     * @return string 
     */
    public function getEmail()
    {
        return $this->email;
    }
    /**
     * Set isActive
     *
     * @param boolean $isActive
     * @return User
     */
    public function setIsActive($isActive)
    {
        $this->isActive = $isActive;
        return $this;
    }
    /**
     * Get isActive
     *
     * @return boolean 
     */
    public function getIsActive()
    {
        return $this->isActive;
    }
    /**
     * Add groups
     *
     * @param 'Acme'UserBundle'Entity'Group $groups
     * @return User
     */
    public function addGroup('Acme'UserBundle'Entity'Group $groups)
    {
        $this->groups[] = $groups;
        return $this;
    }
    /**
     * Remove groups
     *
     * @param 'Acme'UserBundle'Entity'Group $groups
     */
    public function removeGroup('Acme'UserBundle'Entity'Group $groups)
    {
        $this->groups->removeElement($groups);
    }
    /**
     * Get groups
     *
     * @return 'Doctrine'Common'Collections'Collection 
     */
    public function getGroups()
    {
        return $this->groups;
    }
}

组.php

namespace Acme'UserBundle'Entity;
use Symfony'Component'Security'Core'Role'RoleInterface;
use Doctrine'Common'Collections'ArrayCollection;
use Doctrine'ORM'Mapping as ORM;
/**
 * @ORM'Table(name="groups")
 * @ORM'Entity()
 */
class Group implements RoleInterface
{
    /**
     * @ORM'Column(name="id", type="integer")
     * @ORM'Id()
     * @ORM'GeneratedValue(strategy="AUTO")
     */
    private $id;
    /** @ORM'Column(name="name", type="string", length=30) */
    private $name;
    /** @ORM'Column(name="role", type="string", length=20, unique=true) */
    private $role;
    /** @ORM'ManyToMany(targetEntity="User", mappedBy="groups") */
    private $users;
    public function __construct()
    {
        $this->users = new ArrayCollection();
    }
    // ... getters and setters for each property
    /** @see RoleInterface */
    public function getRole()
    {
        return $this->role;
    }
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }
    /**
     * Set name
     *
     * @param string $name
     * @return Group
     */
    public function setName($name)
    {
        $this->name = $name;
        return $this;
    }
    /**
     * Get name
     *
     * @return string 
     */
    public function getName()
    {
        return $this->name;
    }
    /**
     * Set role
     *
     * @param string $role
     * @return Group
     */
    public function setRole($role)
    {
        $this->role = $role;
        return $this;
    }
    /**
     * Add users
     *
     * @param 'Acme'UserBundle'Entity'User $users
     * @return Group
     */
    public function addUser('Acme'UserBundle'Entity'User $users)
    {
        $this->users[] = $users;
        return $this;
    }
    /**
     * Remove users
     *
     * @param 'Acme'UserBundle'Entity'User $users
     */
    public function removeUser('Acme'UserBundle'Entity'User $users)
    {
        $this->users->removeElement($users);
    }
    /**
     * Get users
     *
     * @return 'Doctrine'Common'Collections'Collection 
     */
    public function getUsers()
    {
        return $this->users;
    }
}

感谢您的任何帮助。

这是一个示例:

/**
* @ORM'OneToMany(targetEntity="Product", mappedBy="category")
*/
protected $products;
...
/**
* @ORM'ManyToOne(targetEntity="Category", inversedBy="products")
* @ORM'JoinColumn(name="category_id", referencedColumnName="id")
*/
protected $category;

您忘记了@ORM'JoinColumn注释