2015-08-30 19 views
5

Esiste comunque la possibilità di effettuare il filtro $var = 7 nel filtro della raccolta in questo modo?Laravel modifica la variabile all'interno del filtro della raccolta

$var = 1; 

$collection->filter(function($q) use ($var){ 
    if(true){ 
     $var = 7; 
     return true; 
    } 
}); 

dd($var); 

Attualmente questo non funziona e quello che ottengo è ancora 1

Ho anche provato ad utilizzare global ma ancora ottengo 1

risposta

7

passare la variabile by reference, allora avranno cambiato , per esempio

$collection->filter(function($q) use (&$var){ 
             //^ See here 
+0

Ha funzionato. Grazie! – Ali

+0

Oh mio Dio, grazie, sono stato congelato di fronte a questo problema per un tempo molto lungo, mentre un piccolo '&' risolto :( – tinyCoder