SELECT * from parent_accounts
LEFT JOIN child_accounts on parent_accounts.account_id=child_accounts.parent_id
결과
에서 원시 쿼리를 사용하면 MySQL의 DB 에서 두 테이블을 가입 laravel 쿼리 빌더를 사용하고에서 diffrent입니다
laravel Query Builder를 사용하는 경우 다음과 같습니다.
$accounts=\DB::table('parent_accounts as p')->join('child_accounts as c','p.account_id','=','c.parent_id')->select('p.name AS parent','c.name as name','c.account_id as account_id','c.parent_id as parent_id')->get();
child_accounts가 먼저 left join을 사용하면 4 번째 행을 얻지 못합니다. 당신이 Laravel DB 쿼리 로직 몇 가지 문제가있는 경우
첫 번째 일이, 당신이 정말 설득력 laravel를 사용하지 않는 가입하십시오. 쿼리 작성기를 사용하고 있습니다. 둘 사이에 차이가 있습니다. 모델을 적절히 정의한 다음 laravel eloquent를 사용하십시오. 조인은 단 한 줄로 줄입니다. –
@JunaidAhmad 편집 게시물 – JenuRudan
다시는 질의 빌더를 사용하지 않거나 설득력이 없다면 사용하지 마십시오. –