2017-10-26 2 views
2

에 존재 :웅변/쿼리 빌더 :없이 테이블 A에서 선택은 내가 아래 3 테이블이 테이블 B

User: id, name 

Room: id, room_name 

User_Room: user_id, room_id 

어떻게 표 Room_User에 사용하지 않고, 테이블 사용자의 모든 사용자가 존재 선택할 수 있습니다?

는 이미 this post 뒤를하지만 설득력 또는 쿼리 건물

select A.* 
from A left join B on A.BAND = B.HATE 
where B.HATE IS NULL; 

아래 쿼리 도와주세요 변환하는 방법을 모르겠어요.

답변

1

당신은 당신이 단순히 doesntHave 방법 (쿼리 관계 부재 섹션)를 사용할 수 있습니다 견인 모델과 많은 관계로 많은 경우 : 나는 많은 관계로 많은이

$users = User::doesntHave('rooms')->get(); 
+0

합니다. 그것은 사용자와 같습니다 : return $ this-> belongsToMany (Room :: class, 'room_users') -> withTimestamps(); 그리고 Room : $ this-> belongsToMany (User :: class, 'room_users') -> withTimestamps); 하지만 오류가 발생했습니다 : 정의되지 않은 메서드 App \ User :: whereDoesntHave()를 호출하십시오. 그걸 나에게 설명해 줄 수 있니? 감사. –

+0

죄송합니다. 이제는 'doesntHave'로 테스트하십시오 !! – Maraboc

+0

매력과 같은 작품입니다. 너 정말 대단한데. 너는 나의 날을 구한다. –