인 Laravel 5.3을 사용하여 웹 응용 프로그램을 개발 중입니다. 지금은 Laravel 쿼리 빌더 방법에 문제가 있습니다. whereIn. 여기에 내 시나리오가있다 :Laravel 쿼리 빌더 메서드 사용 where() 하위 쿼리가
나는 이와 같은 테이블을 가지고있다.
student - id, name, dob
course - id, code
student_course - student_id, course_id
내가하고 싶은 것은 student_course 테이블의 course_id로 어떤 테이블에도 가입하지 않고 검색하게하고 싶습니다. 수동 쿼리에서 나는 이것을 좋아한다.
SELECT * FROM `student` WHERE `student`.`id` IN (SELECT `student_id` FROM `student_course` WHRE `course_id`= ?)
이제 Laravel 쿼리 빌더로 변환하려고하면 문제가 발생합니다. 여기 내 코드입니다 :
DB::table('student')->whereIn('id',[ "Here I want to run sub query" ])->get();
당신이(), 내가 문제를 얻는 것을 특징으로하는 두 번째 매개 변수에서 볼 수 있듯이. 이 시나리오에서는 원시 쿼리를 실행해야합니까? 어떻게 두 번째 매개 변수로 원시 쿼리를 실행할 수 있습니까? 그렇지 않다면, 어떻게 위의 하나의 쿼리에서 course_id로 필터링하고 어떤 테이블에 조인하지 않을 수 있습니까?
아마 관련 : HTTP : // 유래 .com/questions/16815551/how-to-do-in-laravel-subquery-where- –
예. 링크가 내 문제를 해결했습니다. 정말 고마워. –