2017-02-21 1 views
0

J'essaie de créer un tableau de fonctions. Bien que, je reçois parse error et rien de plus lors de l'exécution de ce codeErreur d'analyse lors de l'utilisation de la fonction dans le tableau

protected $filter_functions = [ 
    "price" => function(&$query, $lower, $higher) { 
     $query->where("price", ">=", $lower)->where("price", "<=", $higher); 
    } 
]; 

Je ne vois aucune erreur de syntaxe, mais peut-être il est. La version PHP est actuellement 5.6.28 et devrait être compatible avec les fonctions anonymes.

+0

yu utilisez-vous? – Sakezzz

+0

Non, cadre Laravel –

+0

J'ai ajouté cette information aux balises. Merci –

Répondre

0

vous devez mettre cela dans le constructeur

protected $filter_functions; 

public function __construct(){ 
    $this->filter_functions = [ 
     "price" => function(&$query, $lower, $higher) { 
      $query->where("price", ">=", $lower)->where("price", "<=", $higher); 
     } 
    ]; 
} 
+0

'__constructor' qui devrait très probablement lire comme '__construct'. À moins que Laravel utilise '__constructor'. Edit: Ce commentaire selon l'original http://stackoverflow.com/revisions/42370244/1 –

+0

https://laravel.com/docs/5.0/controllers utilise très bien '__construct'. –

+0

Je pense que vous devez aussi avoir 'parent :: __ construct();' avant d'essayer de mettre $ this-> filter_functions', mais je ne suis pas à 100% pour ça. –