首页 > 解决方案 > 总结所有儿童模型价值的更好方法

问题描述

我正在尝试执行以下操作并且它正在工作,但我确信必须有更好的方法来做到这一点。我非常感谢您的意见。非常感谢。

public static function calculateStorageUsage(){
    $kb = 0;

    $properties = Auth::user()->landlord_profile_auto->properties()->with('images')->get();
    foreach($properties as $property){
        foreach($property->images as $image){
            $kb += $image->size_kb;
        }
    }
    return $kb;
}

我正在尝试计算所有图像使用的总存储空间。

标签: laraveleloquent

解决方案


由于关系默认返回一个集合,因此以下应该有效:

public static function calculateStorageUsage()
{
    $properties = Auth::user()
        ->landlord_profile_auto
        ->properties()
        ->with('images')
        ->get();

    return $properties->images->sum('size_kb');
}

推荐阅读