Laravel

LaravelのwithCountが取得できないを解決する方法

いつもご利用ありがとうございます。このブログは、広告費によって運営されています。

オススメ本
Web技術を勉強するなら、かなりオススメの雑誌です。毎月新しい発見があります。ついに最終号・・・、みなさん買いましょう!!
読んで損することはない名著。命名で悩むことが多い人はこの本がオススメです。

⇨ Laravel の 記事の目次はこちら

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 にお願いします。

それでは!