database - 使用 Laravel Eloquent 计算用户的第一个答案并忽略其他答案

标签 database laravel laravel-5 eloquent laravel-5.3

如果用户多次尝试一个问题,那么我只想对第一个答案求和,而忽略同一问题的其他答案,我们如何使用 Eloquent 方法来做到这一点。现在我正在使用以下代码来计算所有包含重复答案的值。我们如何从总数中减去重复的答案?

$total_score = User::find($user->id)->testsresult->sum('correct');

数据库结构如下

enter image description here

最佳答案

使用groupBy()得到distinct

$total_score = User::find($user->id)->testsresult()->groupBy('option_id')->get()->sum('correct');

关于database - 使用 Laravel Eloquent 计算用户的第一个答案并忽略其他答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49346244/

相关文章:

mysql - 我如何更改mysql中的起始ID号

database - 大型应用程序的可扩展性

java - 存储输入数据的最佳选择,应用程序在重新启动后会记住它

database - 检查 slick 3.0 中的表是否存在

php - Laravel 5.1 SSH - 无法连接到远程服务器

php - Laravel 多模型事件

laravel - 我想访问像 web.php 这样的路由中的 auth()->user()->?

php - 为什么 laravel 应用程序无法正常启动?

php - Laravel 中 3 个表的复杂 INNER JOIN Mysql 查询

php - 如何加入 Laravel 5.4 中的两个表