我有一个错误
在double上调用成员函数first()
这是laravel中的查询生成器
$player = DB::table('players')
->join('stats', 'players.username', '=', 'stats.player')
->sum('stats.winpot');
->first();
答案 0 :(得分:1)
当然。很明显。 sum()
函数返回所选列的总和。一个值(不是值的集合)
first()
用于集合,以从集合中获取第一个元素。
由于sum函数返回列值的总和(单个值,而不是Collection),因此无法对其调用first()
函数。
最重要的是您不必。
注意
如果您想同时获得和“玩家”和“和”,则可以执行两个查询并将这两个结果绑定在一起。
可能的解决方案。
$player = DB::table('players')
->join('stats', 'players.username', '=', 'stats.player')
->first();
$player->sum = DB::table('players')
->join('stats', 'players.username', '=', 'stats.player')
->sum('stats.winpot');
现在检索到的“玩家”中有一个属性为“和”。您可以通过$player->sum