親子リレーションで、親子どっちの条件でも検索できて、子の検索(or親の検索)に引っかかった親子の組み合わせcollectionだけ取得したい!

親子リレーションで、親子どっちの条件でも検索できて、子の検索(or親の検索)に引っかかった親子の組み合わせcollectionだけ取得したい!

Post(親)
Comment(子)

で、例えば「さしすせそ」という単語が含まれている組み合わせだけ取得したい!(親でも子でもいい)
Post1(あいうえお)
├Comment1(かきくけこ)
├Comment2(さしすせそ)
└Comment3(たちつてと)

Post1->Comment2の組み合わせだけのCollectionを返して欲しい!

前回のやり方だと、親に「さしすせそ」が含まれていないと、まず親が検索にヒットしないので、その子の検索条件まで行かない…。

laravel8のhasmany(リレーション)のwhere句を、検索条件に従って動的に変更したい!(親whereと子whereのAND検索がしたい!)

じゃあ、どうやんの?と考えてみたら、eloquentのjoin()を使えば、子レコードの条件で親レコードもひっぱってこれる。
ただし、このままだと親レコードに紐づく子レコードが全部取得されてしまうので、同条件でhasmanyで絞り込む!

望んた実装にはなったけど、joinとhasmanyで同じ条件を2回記述するのは何だかな~。
なんとか一箇所で記述する方法は無いものだろうか?