Não sei exatamente o que sua consulta está tentando alcançar e onde você precisa de uma junção externa completa, mas começarei esta resposta dizendo que o MySQL não tem suporte embutido para junção externa completa. Com base em esta pergunta SO , podemos encontrar uma maneira alternativa de escrever a seguinte consulta:
SELECT * FROM t1
FULL OUTER JOIN t2
ON t1.id = t2.id
Isso pode ser reescrito como um
UNION
de uma junção esquerda e uma junção direita:SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION ALL
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
Em Laravel, podemos escrever o seguinte código para representar a junção externa completa acima:
$second = DB::table('t2')
->rightJoin('t1', 't1.id', '=', 't2.id')
$first = DB::table('t1')
->leftJoin('t2', 't1.id', '=', 't2.id')
->unionAll($first)
->get();
Novamente, não sei por que você acha que precisa de duas junções externas, mas independentemente disso, você deve poder adaptar o código acima e consultar e usá-lo para sua situação.
Referências:
- Link para junções externas completas no MySQL:Entrada externa completa MySQL
- Link para a documentação do criador de consultas Laravel 5.3:https://laravel.com/docs/5.3/