Laravel で 関連テーブルの数をサブクエリで数える方法

DB::raw を使う。

$users = User::select([
    'users.*',
    DB::raw('(SELECT COUNT(id) FROM posts)')
])->get();

他にも色々生のSQLを一部組み込めて便利。