Doctrine MappingException в отношении многих пользователей - PullRequest
1 голос
/ 28 июня 2019

Doctrine не удается сохранить объект пользователя.

/**
 * @Entity @Table(name="user")
 */
class User
{
    /** @Id @Column(type="integer") @GeneratedValue **/
    protected $id;

    /** @Column(type="string") **/
    public $Name;

    /** @Column(type="string") **/
    public $Picture;

    /** @Column(type="string", length=50) **/
    public $Phone;

    /** @Column(type="date") **/
    public $Birthdate;

    /**
     * @OneToMany(targetEntity="project", mappedBy="Owner")
     */
    public $Projects;

    /**
     * @OneToOne(targetEntity="user")
     * @JoinColumn(name="credentials_id", referencedColumnName="id")
     */
    public $Credentials;
    /**
     * @OneToMany(targetEntity="skill", mappedBy="User_id")
    */
    public $Experiences;    

    /** @Column(type="string", length=2500) **/
    public $Motivation;

    /** @Column(type="string", length=2500) **/
    public $SoftSkills;

    /** @Column(type="string") **/
    public $Profession;

    /** @Column(type="string") **/
    public $EducationDegree;


    public function __construct()
    {

    }

    public function getId()
    {
        return $this->id;
    }    
}

после этого вызова в Entity Manager выдает исключение MappingException.

$this->entityManager->persist($this->user);

Неустранимая ошибка: UncaughtDoctrine \ ORM \ Mapping \ MappingException: Целевая сущность Businessrelations \ Database \ project не найдена в 'Businessrelations \ Database \ User # Projects

Но на данный момент проекты еще не зарегистрированы.Должен ли я пометить его как дополнительный?Мне также было интересно, что означает «#» между пользователем и проектами.Кто-нибудь знает?

РЕДАКТИРОВАТЬ

Я изменил атрибуты targetEntity на полное имя класса, как предложено в связанных темах.

Я нашел соответствующийИсходный код на GitHub: https://github.com/doctrine/orm/blob/e1bb9e005d2676c42ec19521db9569a28da179d3/lib/Doctrine/ORM/Mapping/MappingException.php

...