laravel 按照查询条件,计算每个字段的和
xuexi 2025-02-18 11:44:41 发表在:PHP 查看数:331

在 Laravel 中,你可以使用 Eloquent ORM 或查询构建器来根据特定的查询条件计算每个字段的和。下面将分别展示如何使用这两种方式来实现这一功能。

使用 Eloquent ORM 假设你有一个模型 Product,你想要根据某个条件(例如,category_id)计算每个字段的和,比如计算所有产品的 price 字段之和。

use App\Models\Product;
use DB;

// 使用DB facade来执行原始SQL查询
$sum = DB::table('products')
         ->where('category_id', 1) // 替换为你的条件
         ->sum('price');

echo $sum;

如果你想在模型内部进行计算,可以这样做:

$sum = Product::where('category_id', 1)
             ->sum('price');

echo $sum;

使用查询构建器 如果你想要更复杂或自定义的查询,可以使用查询构建器:

use Illuminate\Support\Facades\DB;

$sum = DB::table('products')
         ->select(DB::raw('SUM(price) as total_price'))
         ->where('category_id', 1) // 替换为你的条件
         ->first();

echo $sum->total_price;

计算多个字段的和

如果你想要计算多个字段的和,比如 price 和 quantity,你可以这样做:
$results = DB::table('products')
             ->select(DB::raw('SUM(price) as total_price, SUM(quantity) as total_quantity'))
             ->where('category_id', 1) // 替换为你的条件
             ->first();

echo "Total Price: " . $results->total_price;
echo "Total Quantity: " . $results->total_quantity;
最近访问时间:2025-04-29 06:28:08
知识库:340条鸣谢:TAY  备案号:蜀ICP备2024090044号