2016-11-11 3 views
1

Wie eine komplexe Abfrage in Laravel 5.3 zu schreiben, ich bin versuchen, aber Ergebnis sind fullfill nichtschreiben Netsted Auswahlabfrage In Laravel 5.3

Query ist es

SELECT * FROM (SELECT posts.post_id FROM posts WHERE ((posts.user_id = 1 AND posts.user_type = 'user') OR (posts.user_id IN (1) AND posts.user_type = 'page'))) posts WHERE posts.post_id > '0' ORDER BY posts.post_id DESC 

Und können wir schreiben Mit Larave Modell? Hilf mir

Antwort

0

Hier ist Ihre Antwort.

$MyQuery = DB::table(DB::Raw("(SELECT 
           posts.post_id 
           FROM 
           posts 
           WHERE 
           (
           (
            posts.user_id = 1 
            AND posts.user_type = 'user' 
           ) 
            OR 
            (
            posts.user_id IN (1) 
            AND posts.user_type = 'page' 
            ) 
           ) 
           )")) 
      ->where('posts.post_id','>',"0")->orderBy("posts.post_id" , "DESC")->get(); 

Versuchen Druck Abfrage einmal mit ->toSql() wie diese

echo $MyQuery = DB::table(DB::Raw("(SELECT 
            posts.post_id 
            FROM 
            posts 
            WHERE((
              posts.user_id = 1 
              AND posts.user_type = 'user' 
              ) 
              OR(
              posts.user_id IN (1) 
              AND posts.user_type = 'page' 
              )))")) 
      ->where('posts.post_id','>',"0")->orderBy("posts.post_id" , "DESC")->toSql(); 

      die(); 
+0

Nizza Antwort für das danken, aber ich bin Gebrauch Modell auswählen Abfrage –

+0

@NarendraJhala Erstellen [diese] (http://laravel.io/ forum/03-05-2014-nested-query-in-from) kann Ihnen helfen, mehr zu verstehen, –