我是 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');
关于php - Laravel 查询生成器 - sum() 方法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30424949/