Jag tycker att detta borde göra susen (om jag förstått din tabellstruktur rätt).
Jag skulle uppmuntra dig att läsa den officiella Laravel-dokumentationen om Joins .
$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();