개체 태그를 일치 시켜서 한 개체에 관련된 개체를 찾으려고합니다. 일치하는 태그를 계산하여 가장 일치하는 객체를 반환하는 mysql 쿼리를 생성했습니다.Doctrine ORM - 실제 관계가없는 자체 조인
doctrine (1.2)을 처음 사용 했으므로 누군가 내 스키마를 수정하고 DQL 쿼리를 작성하는 올바른 길을 찾아야하는지 궁금합니다. 큰 문제는 두 tagset이 내 schema.yml에서 서로 관련이 없다는 것입니다.
schema.yml 파일 :
SELECT object.name, COUNT(*) AS tag_count
FROM tagset T1
INNER JOIN tagset T2
ON T1.tag_id = T2.tag_id AND T1.object_id != T2.object_id
INNER JOIN object
ON T2.object_id = object.id
WHERE T1.object_id = 2
GROUP BY T2.object_id
ORDER BY COUNT(*) DESC