Php 如何在Laravel查询中添加两个别名值并一起选择?

Php 如何在Laravel查询中添加两个别名值并一起选择?,php,mysql,laravel,Php,Mysql,Laravel,我有一个任务表,它跟踪任务的汽车里程表值。任务与其自身相关,并且有一个由has-one关系定义的前一个任务。我正在尝试创建一个范围,以便在查询中输入完整的_at_里程表值 该值等于上一个任务上已完成的_at_里程表值加上当前任务需要重复的频率。例如,当前任务A需要每10英里完成一次。最后一项任务,任务B在5英里处完成。我试图创建一个范围,将值complete_at_里程表加到结果中,结果应该等于15 以下是我目前掌握的情况: public function scopeWithCompleteBy

我有一个任务表,它跟踪任务的汽车里程表值。任务与其自身相关,并且有一个由has-one关系定义的前一个任务。我正在尝试创建一个范围,以便在查询中输入完整的_at_里程表值

该值等于上一个任务上已完成的_at_里程表值加上当前任务需要重复的频率。例如,当前任务A需要每10英里完成一次。最后一项任务,任务B在5英里处完成。我试图创建一个范围,将值complete_at_里程表加到结果中,结果应该等于15

以下是我目前掌握的情况:

public function scopeWithCompleteByOdometer($query)
{
    return $query
        ->join('tasks as oldTask', 'oldTask.current_task_id', '=', 'tasks.id')
        ->select(
            '*',
            'oldTask.completed_at_odometer as last_odometer',
            'tasks.distance_interval as interval'
        );
}
我不知道如何将last_里程表和interval的值相加,同时保留在应用程序的数据库层中

我使用的是Laravel7和MySQL5.7


谢谢你的帮助

使用
DB::raw
查询:

return $query
    ->join('tasks as oldTask', 'oldTask.current_task_id', '=', 'tasks.id')
    ->select(DB::raw('(oldTask.completed_at_odometer + tasks.distance_interval) AS total'));
或者从这样得到的结果中求和

$a = $row->completed_at_odometer;
$b = $row->distance_interval;
$total = $a+$b

使用
DB::raw
查询:

return $query
    ->join('tasks as oldTask', 'oldTask.current_task_id', '=', 'tasks.id')
    ->select(DB::raw('(oldTask.completed_at_odometer + tasks.distance_interval) AS total'));
或者从这样得到的结果中求和

$a = $row->completed_at_odometer;
$b = $row->distance_interval;
$total = $a+$b