我不知道如何急切地加载a relationships列的总和。
数据库(简化)如下:
桌子

PRODUCT       PRODUCT_VARIATIONS
*ID*          *ID*
*NAME*        *NAME*
              *AVAILABLE_STOCK*

我的关系建立如下;
public function variations()
{
    return $this->hasMany('Product_variation');
}

加载所有产品时,我希望能够看到该产品附加到产品对象本身的所有库存的总和。
一种产品可能有许多变种。
我可以退回产品附带的所有个别变化(见下文)
$products = Product::with('variations')->paginate(15);

但我只想返回一个简单的整数,显示所有产品的可用库存计数,考虑到所有的变化。
我想能打字
@foreach ($products as $product)
$product->available_stock  // Returns INT
@endforeach

最佳答案

雄辩不支持关系计数紧急加载。
请阅读这篇关于如何自己实现它的文章:
How to get hasMany relation count efficiently

09-25 16:54