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