Laravel
LaravelのwithCountが取得できないを解決する方法
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
オススメ本
Laravel でリレーションはうまくいっているのに、withCount が取得できなかったときがあったので解決方法について書いています。
関連記事
⇨Laravel でリレーション先の数の合計を数えて一覧に表示する方法【withCount】
解決方法
select を後ろに書くと取得できません
うまくいく例
$posts = Post::select('title')->withCount('likes')->get();
ダメな例
$posts = Post::withCount('likes')->select('title')->get();
試しに select に likes_count を入れてみたけどエラーになったので select を先に書きましょう。
リレーション方法が間違っているかもしれないとき
リレーションの方法については、別の記事にできるだけ分かりやすいを意識して書いた記事がありますので、そちらをご参照ください。
Laravel で1対1のリレーションをする方法。【hasOne】
Laravel で1対多のリレーションをして保存、表示する方法【hasMany】
Laravel で多対1のリレーションをして保存、表示する方法。1対多のときの逆【belongsTo】
Laravel で多対多のリレーションをして保存、表示する方法【belongsToMany】
まとめ
以上、withCount を使った時に直面したエラーについて書いてみました。
苦情・意見は Twitter の DM にお願いします。
それでは!