我有一個(gè)任務(wù)表,用于跟蹤任務(wù)的汽車(chē)?yán)锍瘫碇?。一?xiàng)任務(wù)與其自身相關(guān),并且具有由具有一個(gè)關(guān)系定義的一項(xiàng)先前任務(wù)。我正在嘗試創(chuàng)建一個(gè)范圍來(lái)提取查詢中的complete_at_odometer 值。該值等于前一個(gè)任務(wù)的completed_at_odometer值加上當(dāng)前任務(wù)需要重復(fù)的頻率。例如當(dāng)前的任務(wù)A需要每10英里完成一次。最后一個(gè)任務(wù),任務(wù) B 在 5 英里處完成。我正在嘗試創(chuàng)建一個(gè)范圍,將值complete_at_odometer 添加到應(yīng)等于 15 的結(jié)果中。這是我到目前為止所擁有的: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_odometer 和interval 添加在一起,同時(shí)保留在應(yīng)用程序的數(shù)據(jù)庫(kù)層中?我正在使用 Laravel 7 和 MySql 5.7。謝謝你的幫助!
1 回答

慕神8447489
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
使用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'));
或者從這樣獲得的結(jié)果中求和
$a = $row->completed_at_odometer;
$b = $row->distance_interval;
$total = $a+$b
- 1 回答
- 0 關(guān)注
- 155 瀏覽
添加回答
舉報(bào)
0/150
提交
取消