2013-02-21 19 views
7

Ho un problema di passaggio variabile per interrogare chiusura costruttore, qui è il mio codice:Query: passando argomento alla funzione anonima

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

se l'eseguo, restituisce un errore "undefined name variable", ma io ha già superato la variabile $name e ne ha verificato l'esistenza. Inoltre non riesco a trovare alcun risultato che spiega come passare la variabile alla funzione anonimo del generatore di query. Potresti aiutarmi con questo problema?

+0

Penso che $ name non nell'ambito di 'function ($ query)' –

risposta

28

È necessario il dire la funzione anonima di utilizzare tale variabile come ...

Perché quella variabile è al di fuori del campo di applicazione della funzione di annonymous ha bisogno di essere passato nel utilizzando la parola chiaveutilizzo come indicato in l'esempio qui sotto.

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

funziona perfettamente grazie – petwho

Problemi correlati