공식 문서와 수많은 스레드를 읽었지만 여전히 내 상황에 대한 해결책을 찾지 못했습니다. 내 경우는 매우 기본입니다. 두 엔티티가 있습니다. 주석과 키워드가 있습니다. 하나의 설명은 많은 키워드를 가질 수 있지만 각 키워드는 하나의 주석만을위한 것입니다. 키워드는 키워드 표에서 고유하지 않습니다. 그래서 저는 이것이 일대 다 (one-to-many) 관계라고 결정했습니다. 테이블 구조를 단순히 좋아은 다음과 같습니다교리에 문제 매핑 관계 매핑 2
키워드
id int(11)
comment_id int(11)
text varchar(30)
의견 여기
id int(11)
text text
내가 그들을 매핑하는 방법입니다
을158,343,210 어떻게이처럼 사용 :
$comments = $this->em->getRepository('comments')->findAll();
foreach($comments as $comment){
foreach($comment->getKeywords() as $keyword){
$keyword->getText();
}
}
이 오류를 가지고 :
Notice: Undefined index: comment_id in C:\web_includes\doctrine\ORM\Persisters\BasicEntityPersister.php on line 1096
Notice: Trying to get property of non-object in C:\web_includes\doctrine\ORM\Persisters\BasicEntityPersister.php on line 1098
Warning: Invalid argument supplied for foreach() in C:\web_includes\doctrine\ORM\Persisters\BasicEntityPersister.php on line 1098
Notice: Undefined index: comment_id in C:\web_includes\doctrine\ORM\PersistentCollection.php on line 168
Fatal error: Call to a member function setValue() on a non-object in C:\web_includes\doctrine\ORM\PersistentCollection.php on line 169
잘못 무엇입니까? comment_id는 어디에 정의해야합니까? 내 매핑이 맞습니까? 나는 정말로 붙어서 도움이 필요하다. 어떤 충고도 환영한다.
어떤'comment_id'에 대해 어떻게 역/소유 작품에 문서를 참조하십시오? 어떻게하면 코멘트와 키워드의 관계를 설정합니까? – Sadat
comment_id는이 키워드가 속한 설명의 ID가있는 키워드 테이블의 데이터베이스 필드입니다. 나는 doctrine이 주석을위한 키워드를 선택할 때 그것을 사용할 것이라고 생각한다. 관계가 다음과 같습니다. OneToMany (targetEntity = "keywords", mappedBy = "comment_id") 맞습니까? – SET