2017-03-08 7 views
0

My SQL ist so etwas wie dieses:Wie verwende ich rohe Auswahl in Eloquent?

SELECT 
    NAME, 
    PLACE, 
    ETC, 
    format(((sum((AMOUNT * U_PRICE)) - ((sum((AMOUNT * U_PRICE)) * 20)/100)) * 1.18),2) AS TOTAL_PRICE 
FROM 
    THE_TABLE 

Und meine Eloquent Abfrage ist:

theTable::select(
    'NAME', 
    'PLACE', 
    'ETC', 
    'format(((sum((AMOUNT * U_PRICE)) - ((sum((AMOUNT * U_PRICE)) * 20)/100)) * 1.18),2) AS TOTAL_PRICE' 
) 
->get(); 

Aber es funktioniert nicht, weil Eloquent es so etwas wie select name, place, etc, format sum from the_table interpretiert.

Ich habe treid zu verwenden DB::raw aber dann heißt es, dass es kein Objekt erwartet hat.

theTable::select(
    'NAME', 
    'PLACE', 
    'ETC', 
    DB::raw('format(((sum((AMOUNT * U_PRICE)) - ((sum((AMOUNT * U_PRICE)) * 20)/100)) * 1.18),2) AS TOTAL_PRICE') 
) 
->get(); 

Also, wie kann ich rohe SELECT-Anweisung in Eloquent verwenden?

Antwort

2

Verwenden Sie diese Art und Weise

DB::table('THE_TABLE') 
->select(DB::raw(' 
    NAME, 
    PLACE, 
    ETC, 
    format(((sum((AMOUNT * U_PRICE)) - ((sum((AMOUNT * U_PRICE)) * 20)/100)) * 1.18),2) AS TOTAL_PRICE 
')) 
->get(); 
Verwandte Themen