내가 가진 M : 비디오 및 재생 목록 테이블 (playlist_has_video) 사이의 M 관계심포니와 교리 선택 쿼리가 작동하지 않습니다 제대로
예를 들어 나는 동일한 비디오를 재생 목록에 3 번을 추가하는 경우와 나는 비디오를 선택하려고 할 때 해당 재생 목록에서 단 하나의 결과 (비디오) 만 얻었지만 결과 (비디오)는 3 개 필요합니다.
내 쿼리는 다음과 같습니다
$q_videos = Doctrine_Query::create()
->select('V.*, PHV.*')
->distinct(FALSE)
->from('Video V')
->leftJoin('V.VideoSource VS')
->leftJoin('V.PlaylistHasVideo PHV')
->orderBy("PHV.position ASC")
->where('PHV.playlist_id = ? AND V.instance_id = ? AND VS.transcoded = ?', array($this->getObject()->getId(), sfContext::getInstance()->getUser()->getAttribute('instance_id'), 1));
내가 로그에 쿼리를 확인하고 OK :
SELECT v.id AS v__id, v.published AS v__published, v.share AS v__share, v.public AS v__public, v.title AS v__title, v.description AS v__description, v.thumbnail AS v__thumbnail, v.subtitle AS v__subtitle, v.created_at AS v__created_at, v.updated_at AS v__updated_at, v.views AS v__views, v.highlighted AS v__highlighted, v.created_by AS v__created_by, v.updated_by AS v__updated_by, v.instance_id AS v__instance_id, p.id AS p__id, p.playlist_id AS p__playlist_id, p.video_id AS p__video_id, p.position AS p__position FROM video v LEFT JOIN video_source v2 ON v.id = v2.video_id LEFT JOIN playlist_has_video p ON v.id = p.video_id WHERE (p.playlist_id = '1' AND v.instance_id = '1' AND v2.transcoded = '1') ORDER BY p.position ASC
이 나에게 좋은 결과를 반환하면 phpMyAdmin에서이 쿼리 실행 - 3 개 결과 (동영상)
를Doctrine 버전 : 1.2.3 Symfony 버전 : 1.4.8
누구든지 나를 도울 수 있습니까?
작품을 설정하면 ('PlaylistHasVideo PHV'), 그렇지만 비디오 객체가 아닌 PlaylistHasVideo 객체를 반환합니다. 비디오 객체가 필요합니다 ... – trkich
Doctrine 객체 수화가 "문제"라고 생각합니다 ... Doctrine :: HYDRATE_ARRAY를 실행할 때 좋은 결과를 얻습니다. – trkich