essayez d'envoyer la sous-requête en tant qu'expression brute en tant que premier paramètre dans le leftJoin() méthode, par exemple :
$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()
il y a des exemples similaires dans ces questions :
Laravel Fluent Query Builder Join with subquery
Comment écrire this (jointure gauche, sous-requête) dans Laravel 5.1 ?
plus d'informations sur les jointures :https://laravel.com/docs/5.5/queries#joins