【Laravel】Eloquentでhavingした結果をpaginateしたい

Laravelでhaving句を使って集計を行うとき、こんな書き方をする。

Model::withCount('xxxx')->having('xxxx_count', '>', 1);

ただ、paginateを付けたい場合

Model::withCount('xxxx')->having('xxxx_count', '>', 1)->paginate(20);

とやると、エラーが出る。

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'xxxx_count' in 'having clause' (SQL: select count(*) as aggregate from `hoges` having `xxxx_count` > 1)

エラー文にある通り、カラムをcount(*)に置き換えただけのselect文を発行してから処理を行うため、having句に使うカラムが消えてエラーになってしまっている。

対策

泥臭いけどこう

$ids = Model::withCount('xxxx')->having('xxxx_count', '>', 1)->get()->pluck('id');
Model::whereIn('id', $ids)->paginate(20);

もっといいやり方があったら教えて欲しい