ハマったので覚書。
以下の書き方だと該当レコードを全てgetしてしまうのでメモリ消費が大きい。
1 2 |
$count = Image::where('product_id', $product_id)->get()->count(); $count = $product->images->count(); |
以下の書き方だとSQLクエリーでcount(*)を取得するだけなので軽い。
1 2 |
$count = Image::where('product_id', $product_id)->count(); $count = $product->images()->count(); |
参考サイト
Eloquentでカウントするときの注意 – ララジャパン
http://www.larajapan.com/2016/06/19/eloquent%E3%81%A7%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AE%E6%B3%A8%E6%84%8F/