2013-02-21 6 views
7

habe ich ein Problem mit variabler nebenbei Builder Schließung abzufragen, hier ist mein Code:Query-Erstellung: Übergabe des Arguments an anonyme Funktion

function get_usersbyname($name){ 
    dd($name); 
    $resultset = DB::table('users')->where(function($query){ 
     $query->where('username', 'LIKE', $name); 
    }); 
.... 
} 

wenn ich es laufen, es gibt einen Fehler „undefined name variable“, aber ich bereits bestanden $name variabel und überprüft seine Existenz. Auch ich kann keine resoce finden, erklärt, wie man Variable zur anonymen Funktion des Abfrageerzeugers übergibt. Könnten Sie mir bei diesem Problem helfen?

+0

Ich denke, $ Name nicht im Rahmen der 'Funktion ($ query)' –

Antwort

28

Sie müssen die die anonyme Funktion sagen, diese Variable zu verwenden, wie ...

Da dieses Variable außerhalb des Bereichs der annonymous Funktion braucht es bei der Verwendung des Verwendung Schlüsselwort übergeben werden, wie in das Beispiel unten.

function get_usersbyname($name){ 
    dd($name); 
    $resultset = DB::table('users')->where(function($query) use ($name) { 
     $query->where('username', 'LIKE', $name); 
    }); 
.... 
} 
+0

funktioniert es perfekt danke – petwho