2017-03-29 6 views
1

Ich habe eine Tabelle wie diese enter image description here Jetzt zuerst bin ich die Ergebnisse im Hinblick auf die gleiche Temperatur und Zeit, z.Das beste Ergebnis in Bezug auf die Summe der Spaltenzeilen in Eloquent ORM Laravel?

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

Jetzt für exampe bekam ich ein Ergebnis in etwa so ..

enter image description here

ein mit Temperatur- und zeit = 85,30 und andere mit 85,45 .. jetzt nach die summe der spalten (aussehen, farbe, deformation, geruch, textur) ich will das beste ergebnis bekommen. z. B. die letzte Summe der Zeilen der übereinstimmenden Spalten ist (14) und die andere Übereinstimmung ist (17) Ich möchte das beste Ergebnis, das 14 ist. Wie kann ich das in Laravel Orm tun?

für die ganze Abfrage verwendet ich dieses

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

aber weiß, dass ich Ergebnisse der Summe vergleichen wollen ..

ich hoffe ich habe meine Frage richtig erklärt ..

+0

Jedermann ?? ...... –

Antwort

1

Versuchen Sie folgendes:

$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(); 
+0

Gern geschehen! – suecarmol

Verwandte Themen