Doctrine 2를 슬림 3의 ORM으로 사용하고 있지만 양방향 관계를 구현하려고 할 때 객체 매핑 섹션에 계속 걸려 있습니다.속성의 "@OneToMany"주석을 가져 오지 않았습니다. (Doctrine2)
/**
* Class Resource
* @package App
* @ORM\Entity
* @ORM\Table(name="users", uniqueConstraints={@ORM\UniqueConstraint(name="user_id", columns={"user_id"})}))
*/
class User
{
/**
* @ORM\ManyToOne(targetEntity="UserRoles", inversedBy="users")
* @ORM\JoinColumn(name="role_id", referencedColumnName="user_role_id")
*/
protected $user_role;
}
/**
* Class Resource
* @package App
* @ORM\Entity
* @ORM\Table(name="user_roles", uniqueConstraints={@ORM\UniqueConstraint(name="user_role_id", columns={"user_role_id"})}))
*/
class UserRoles
{
/**
* @ORM\OneToMany(targetEntity="User", mappedBy="user_role")
*/
protected $users;
public function __construct()
{
$this->users = new ArrayCollection();
}
}
내가하려고 할 때 예외가 php vendor/bin/doctrine orm:schema-tool:update --force
출력은 다음과 같습니다
[교리 \ 공통 \ 주석 \ AnnotationException] [의미 론적 오류] 주석은 "@OneToMany"내가 n App App \ Entity \ UserRoles :: $ users는 가져 오지 않았습니다. 이 주석에 "사용"문을 추가하는 것을 잊어 버리셨습니까?
나는 텍스트 비율 코드의 제약 조건을 유래로 인해 세터와 getter와 각 분야를 제거한 –
그것은 "@ORM \ OneToMany"입니다. 자세한 내용은'use' 문을보십시오. –
@AlexBlex는 말했다. ''ManyToOne''과''JoinColumn''에''@ORM \''이 누락되었습니다 –