2016-05-13 30 views
0

Hallo Freunde Ich habe diese Abfrage, die mit SQL-Editor ausgeführt wird, aber ich habe keine Ahnung, wie diese Abfrage schreiben mit Hilfe von Laravel.please mir helfen.Wie schreibe ich SQL-Abfrage in Laravel

SELECT 
    date, 
    memo, 
(COALESCE(CASE WHEN drcr = 'dr' THEN amount END,0)) total_debits, 
(COALESCE(CASE WHEN drcr = 'cr' THEN amount END,0)) total_credits, 
@b := @b + (COALESCE(CASE WHEN drcr = 'cr' THEN amount END,0)) - (COALESCE(CASE WHEN drcr = 'dr' THEN amount END,0)) balance 
FROM 
(SELECT @b := 0.0) AS dummy 
CROSS JOIN 
tbl_bankrecords 
ORDER BY 
date 

Antwort

0

Raw Expressions

Manchmal müssen Sie möglicherweise einen rohen Ausdruck in einer Abfrage verwenden. Diese Ausdrücke werden als Zeichenfolgen in die Abfrage eingefügt. Achten Sie also darauf, keine SQL-Injektionspunkte zu erstellen. Um einen rohen Ausdruck zu erstellen, können Sie die DB :: Roh-Methode verwenden:

$users = DB::table('users') 
    ->select(DB::raw('count(*) as user_count, status')) 
    ->where('status', '<>', 1) 
    ->groupBy('status') 
    ->get(); 

Laravel Doc for Raw Queries

auch:

$someVariable = Input::get("some_variable"); 

$results = DB::select(DB::raw("SELECT * FROM some_table WHERE some_col = :somevariable"), array('somevariable' => $someVariable)); 

http://fideloper.com/laravel-raw-queries

0

Sie können versuchen, diese:

Model::select(DB::raw('SELECT 
    date 
,memo 
,(COALESCE(CASE WHEN drcr = 'dr' THEN amount END,0)) total_debits 
,(COALESCE(CASE WHEN drcr = 'cr' THEN amount END,0)) total_credits, 
@b := @b + (COALESCE(CASE WHEN drcr = 'cr' THEN amount END,0)) - (COALESCE(CASE WHEN drcr = 'dr' THEN amount END,0)) balance'))->get(); 
+0

hallo siddharth wie dieses part.will hinzufügen Sie bitte ellaborate it.FROM (SELECT @b: = 0.0) Dummy-AS CROSS JOIN tbl_bankrecords ORDER BY Datum – akash

+0

Versuchen Sie einfach, alle Dinge von Ihnen genannten setzen in 'Model :: select (DB :: raw ('Gib deine RAW QUERY HIER')) -> get();'. Ich bin mir nicht sicher, aber das sollte funktionieren – Siddharth