Не знам какво точно се опитва да постигне вашата заявка и къде се нуждаете от пълно външно присъединяване, но ще започна този отговор, като кажа, че MySQL няма вградена поддръжка за пълно външно присъединяване. Въз основа на този въпрос SO , можем да намерим алтернативен начин да напишем следната заявка:
SELECT * FROM t1
FULL OUTER JOIN t2
ON t1.id = t2.id
Това може да бъде пренаписано като UNION
на ляво и дясно съединение:
SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION ALL
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
В Laravel можем да напишем следния код за представяне на горното пълно външно присъединяване:
$second = DB::table('t2')
->rightJoin('t1', 't1.id', '=', 't2.id')
$first = DB::table('t1')
->leftJoin('t2', 't1.id', '=', 't2.id')
->unionAll($first)
->get();
Отново, не знам защо смятате, че имате нужда от две външни обединявания, но независимо от това, трябва да можете да адаптирате горния код и заявка и да го използвате за вашата ситуация.
Препратки:
- Връзка към пълни външни присъединявания в MySQL:Пълно външно присъединяване в MySQL
- Връзка към документи за създаване на заявки в Laravel 5.3:https://laravel.com/docs/5.3/