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