php - Laravel 查询生成器 - sum() 方法问题

标签 php mysql database laravel query-builder

我是 laravel 的新手,我在查询构建器方面遇到了一些问题。 我想构建的查询是这个:

SELECT SUM(transactions.amount)
FROM transactions
JOIN categories
ON transactions.category_id == categories.id 
WHERE categories.kind == "1"

我尝试构建它,但它不起作用,我无法弄清楚我哪里错了。

$purchases = DB::table('transactions')->sum('transactions.amount')
    ->join('categories', 'transactions.category_id', '=', 'categories.id')
    ->where('categories.kind', '=', 1)
    ->select('transactions.amount')
    ->get();

我想获取属性“kind”等于 1 的所有交易并将其保存在一个变量中。 这是数据库结构:

transactions(id, name, amount, category_id)

categories(id, name, kind)

最佳答案

将聚合方法用作sum时,您不需要使用select()get():

$purchases = DB::table('transactions')
    ->join('categories', 'transactions.category_id', '=', 'categories.id')
    ->where('categories.kind', '=', 1)
    ->sum('transactions.amount');

阅读更多:http://laravel.com/docs/5.0/queries#aggregates

关于php - Laravel 查询生成器 - sum() 方法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30424949/

相关文章:

php - 如何在数据库中安全保存 Html 格式的文本? PHP-MySQL

php - Laravel 邮件密件抄送

PHP-Soap 传递方法参数

mysql - 扫描错误 : unsupported Scan, 存储 driver.Value type <nil> into type *string

mysql - 如何从多个表中高效地获取数据?

php - 获取PHP中的所有扩展类

php - 比较 PHP 中的两个二维数组与 array_diff 错误

mysql - 从每个组mysql中获取前3个最高记录

php - 如果数据库具有特定值则重定向

索引多于列的 MySQL 表