감사합니다! 나는이 부분을 이미 마쳤으며 작동한다.
내 표는 다음과 같다 :
BOOK :
book_id book_title [other fields]
TAG :
tag_id tag_name [other fields]
BOOK_TAG :
book_id tag_id tag_count
그래서 내가 가진 대다 태그와 도서 간의 관계 추가 속성 인 tag_count는 링크 테이블에 저장됩니다.
은 내가 BOOK_TAG 테이블의 tag_count하지만 필드를 채 웁니다
$book->add_to_tags($tag, { tag_count => 10 });
을 수행하여 책에 태그를 추가 할 수 있습니다.
하지만
$book->tags();
을 수행 할 때 자동으로 BOOK_TAG에서 tag_count하지만 필드를 검색하지 않습니다. 내가 링크 테이블에서 추가 속성을 얻을 수있는 쉬운 방법이 있는지 확인하기 위해 노력하고있어
$tag = $schema->resultset('BookTag')->find({ book_id=>$book->book_id, tag=>$tag->tag_id });
$tag_count = $tag->tag_count();
쓸 수 있습니다.
이
my $tag_rs = $book->tags;
for(my $tag = $tag_rs->next){
print $tag->tag_count;
}
당신은 relationship docs에서 자세한 내용을 찾을 수 있습니다
Schema::Tag->has_many('book_tags' => 'Schema::BookTag',
undef, {
proxy => [ 'tag_count' ],
}
);
그리고이 같은 'tag_count하지만'를 액세스 할 수 있습니다 : 당신은 이런 관계를 통해 proxy
특성이 있습니다
예를 들어 주셔서 감사합니다. 이 ORM으로 링크 테이블을 사용하는 예를 찾는 데 어려움이있었습니다. 이 프로젝트를 내 프로젝트에 성공적으로 적용 할 수있었습니다. – jjohn