2013-06-24 9 views
6

Gibt es eine Möglichkeit, im eloquent query builder eine separate select-Funktion anzuhängen oder einzufügen?Laravel Fluent add select() s an verschiedenen Stellen?

Der eigentliche -> select() wird früher gesetzt und dann wird diese Funktion aufgerufen. Ich möchte die Spalte count bedingt in dieser späteren Funktion hinzufügen, an die die Abfrage übergeben wurde.

Antwort

-1

Versuchen Sie folgendes:

$thing_query->groupBy($value)->get(DB::raw('COUNT('.$value.') as count'));

Auch, wenn Sie nur versuchen, die Zählung zu bekommen und nicht mehrere Dinge wählen Sie ->count() statt ->get()

+0

Das ist nicht die Zählung zu meinen anderen Auswahlabfragen nicht hinzufügen, gibt es nur für sich allein – Damon

0

Ja, Sie nur den Block einfügen können Sie möchte als funktion ausführen .... laut der dokumentation auf Parameter Grouping kann man das so machen ... indem man die Where a function ... passiert

Dieser code unter pro Ich werde wohl nicht tun, was du willst, aber es ist etwas für dich, mit dem du aufbauen und mit dem du herumspielen kannst.

DB::table('users') 
     ->where('name', '=', 'John') 
     ->orWhere(function($query) 
     { 
      $query->group_by($value); 
        ->select(DB::raw('COUNT('.$value.') as count')); 
     }) 
     ->get(); 
Verwandte Themen