doujinai2183 2017-05-20 20:38
浏览 53
已采纳

关于ManyToOne关系的Doctrine MappingException

I'm struggling with creation of ManyToOne relationship between two entities. According to documentation, this my code should be enough to create valid ManyToOne relationship, but I keep getting error described below. I must be missing something obvious, but I'm not sure what it is.

Project has many RemoteVotes.

The error that application throws is:

Doctrine\ORM\Mapping\MappingException
The target-entity App\Model\RemoteVote cannot be found in 'App\Model\Project#remoteVotes'.

Relevant part of RemoteVote.php model:

   namespace App\Model;

   /**
    * @ORM\Entity
    * @ORM\Table(name="remote_votes")
    */
    class RemoteVote extends BaseEntity {

    ...

   /**
     * @ORM\ManyToOne(targetEntity="Project", inversedBy="remoteVotes")
     * @ORM\JoinColumn(name="project_id", referencedColumnName="id")
     */
    protected $project;

   ...

Relevant bit of Project.php model:

namespace App\Model;

/**
 * @ORM\Entity
 * @ORM\Table(name="projects")
 */
class Project extends BaseEntity
{

    public function __construct()
    {
        $this->remoteVotes = new ArrayCollection();
    }

    ...


    /**
     * @ORM\OneToMany(targetEntity="RemoteVote", mappedBy="project", cascade={"persist"})
     */
    protected $remoteVotes;

    ...

Thanks in advance.

  • 写回答

1条回答 默认 最新

  • dqouryz3595 2017-05-20 21:22
    关注

    Sadly, this wasn't Doctrine issue, but caching issue of the framework. Deleting cache solved it.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?