在Eloquent ORM laravel的列行总和方面查询最佳结果?

时间:2017-03-29 14:14:47

标签: php mysql laravel orm eloquent

我有一张这样的表enter image description here

现在我首先要查询相同temperaturzeit的结果,例如

(select * from table where temperatur= array..  AND zeit=array...). 

现在举例来说,我得到的结果是这样的:

enter image description here

一个温度和zeit = 85,30,另一个温度85,45 ..

现在根据(aussehen,farbe,变形,geruch,纹理)的列总和,我希望得到最好的结果。

例如匹配列的最后一行是(14)而另一匹配是(17)我想得到最好的结果是14 ..

我怎样才能在laravel orm中做到这一点?

对于整个查询,我使用了这个

orderBy( DB::raw('(aussehen) + (farbe)+(deformation)+(geruch)+(texture)'))->limit(1)->get();

但知道我想比较总和的结果..

我希望我已正确解释了我的问题。

1 个答案:

答案 0 :(得分:1)

试试这个:

$result = DB::('table')
     ->select(DB::raw('*, (aussehen) + (farbe)+(deformation)+(geruch)+(texture) as sum'))
     ->where('temperature', '=', $temp) //variable passed to function
     ->where('zeit', '=', $zeit) // variable passed to function
     ->orderBy('sum', 'asc')
     ->first();