반응형
레프트 아우터가 라라벨과 합류하는 방법은?
나는 한 테이블의 정보와 다른 테이블의 정보가 일치하는지 또한 원합니다.
이것이 나의 코드입니다.
$scoreObject = DB::table('responses')
->select('responses.id', 'responses.questions_id', 'responses.answer_id', 'responses.open_answer', 'responses.user_id', 'responses.scan_id',
'questions.question', 'questions.question_nr', 'questions.type', 'questions.totalsection_id',
'answers.id as answerID', 'answers.answer', 'answers.questions_id', 'answers.points'
)
->Join('answers as answers', 'responses.answer_id', '=', 'answers.id')
->Join('questions as questions', 'answers.questions_id', '=', 'questions.id')
->orderBy('questions.id', 'ASC')
->where('responses.scan_id', $scanid)
->where('responses.user_id', $userid)
->groupBy('questions.id')
->get();
답변(답변)과 일치하는 모든 답변을 반환합니다.questions_id questions.id '). 일부 응답이 일치하지 않지만(응답이 없기 때문에. answer_id), 나는 여전히 응답 정보를 원합니다.
라라벨에서 어떻게 그렇게 왼쪽 바깥쪽 조인을 얻을 수 있습니까?
조인을 왼쪽 외부 조인으로 지정할 수 있습니다.
->join('answers as answers', 'responses.answer_id', '=', 'answers.id', 'left outer')
join method의 네 번째입니다.$type
, 지정되지 않으면 기본값으로 설정됩니다.inner
. 하지만 왼쪽 조인과 왼쪽 아우터 조인은 같은 것이기 때문에 그냥 사용하시면 됩니다.leftJoin
method 대신 읽기 쉽게 하기 위해:
->leftJoin('answers as answers', 'responses.answer_id', '=', 'answers.id')
언급URL : https://stackoverflow.com/questions/28481321/how-to-do-a-left-outer-join-with-laravel
반응형
'programing' 카테고리의 다른 글
구조물을 직접 할당할 수 없는 이유는 무엇입니까? (0) | 2023.10.20 |
---|---|
시퀀스 포인트 간에 휘발성 변수를 여러 번 읽을 수 있습니까? (0) | 2023.10.20 |
jQuery Validation Plugin을 사용하여 양식이 프로그래밍적으로 유효한지 확인하는 방법 (0) | 2023.10.20 |
스파크 데이터 프레임에서 전체 열 내용을 표시하는 방법은 무엇입니까? (0) | 2023.10.20 |
사용자 지정 http 헤더를 Spring RestTemplate 요청에 추가 / extend RestTemplate (0) | 2023.10.20 |