J'utilise Laravel et j'ai besoin de passer un tableau associatif à une fonction statique dans un modèle éloquent.Passer un tableau à la méthode statique du modèle éloquent
class MyClass extends Eloquent\Model
{
static function scopeRegister($input) {
return $input['key1'];
}
}
Courir avec Tinker, voici mon entrée:
$input = array('key1'=>'value', 'key2'=>'value', 'key3'=> 'value', 'key4'=>'value');
Quand je l'essayer, cependant, je reçois une erreur:
PHP error: Cannot use object of type Illuminate\Database\Eloquent\Builder as array
Et quand je tape-indication tableau:
class MyClass extends Eloquent\Model
{
static function scopeRegister(array $input) {
return $input['key1'];
}
}
Je reçois l'erreur suivante :
Argument 1 passed to App\KeywordGeotarget::scopeRegister() must be of the type array, object given
Que se passe-t-il ici et comment puis-je accéder aux valeurs définies dans le tableau à partir de la méthode statique dans le modèle?
EDIT: Je suis juste en utilisant Tinker en ce moment pour tester cela, mais est ici le code que je utilise pour appeler la méthode:
php artisan tinker
>> $input = array('key1'=>'value','key2'=>'value','key3'=>'value', 'key4'=>'value');
>> App\MyClass::register($input);
pouvez-vous nous montrer où (le code) vous appelez la méthode statique? – Yes92
plz ajoutez le code dans lequel vous appelez la fonction. –
Merci d'avoir lu la question. J'ai mis à jour la question et ajouté le code dans lequel j'appelle la fonction. – LeviJames