Ich denke, das sollte den Zweck erfüllen (wenn ich Ihre Tabellenstruktur richtig verstanden habe).
Ich möchte Sie ermutigen, die offizielle Laravel-Dokumentation zu Joins zu lesen .
$query = DB::table('projects')
->join('subprojects', 'projects.id', '=', 'subprojects.project_id')
->join('companies', 'projects.company_id', '=', 'companies.id')
->select('companies.company_name', 'projects.id', 'subprojects.id', 'subprojects.title')
->get();