Laravelでrelationの存在チェックを行う方法

UserモデルがPostを複数持っている関係の場合、次のように書くことで存在チェックができます。

User::withExists('posts')

実際にチェックするには、次の方法でアクセスできます。

$user->posts_exists // true or false

検索結果に反映させたい場合はhavingを使うことで可能です。

User::withExists('posts')
->having('posts_exists', true)

このようにすると、データを取得する段階でフィルタリングすることができます。

金井 泰樹のアバター 金井 泰樹 FUNBREW代表

FUNBREWの代表。
新卒からIT系の企業に勤め、SES、スマホアプリ開発、自社開発の会社で経験を積んで独立。
新卒時代にエンジニアとしてのキャリアを積むのに失敗し、その後に苦労した経験から、現在教育事業の立ち上げを準備中。
強みはウェブシステム開発全般と迅速なレスポンスです。

目次