zkuste odeslat poddotaz jako nezpracovaný výraz jako první parametr v leftJoin() metoda, například:
$subquery = '(SELECT
usr_log1.*
FROM
users_log_logradouro AS usr_log1
LEFT JOIN
users_log_logradouro AS usr_log2
ON usr_log1.user_id = usr_log2.user_id
AND usr_log1.created_at < usr_log2.created_at
WHERE
usr_log2.user_id IS NULL)
AS temp';
DB::table('users as usr')
->select(...)
->leftJoin(DB::raw($subquery), 'usr.id', '=', 'temp.user_id')
->leftJoin(...)
->join(...)
->join(...)
->join(...)
->leftJoin(...)
->leftJoin(...)
->leftJoin(...)
->where(...)
->get()
v těchto otázkách jsou podobné příklady:
Laravel Fluent Query Builder Připojit se pomocí dílčího dotazu
Jak psát toto (levé spojení, dílčí dotaz) v Laravelu 5.1?
další informace abaut se připojuje:https://laravel.com/docs/5.5/queries#joins