我正在使用Laravel,并且我需要将关联数组传递给雄辩模型中的静态函数。将数组传递给静态方法的雄辩模型
class MyClass extends Eloquent\Model
{
static function scopeRegister($input) {
return $input['key1'];
}
}
鼓捣运行,这是我输入:
$input = array('key1'=>'value', 'key2'=>'value', 'key3'=> 'value', 'key4'=>'value');
当我尝试它,虽然,我得到一个错误:
PHP error: Cannot use object of type Illuminate\Database\Eloquent\Builder as array
当我的类型提示array:
class MyClass extends Eloquent\Model
{
static function scopeRegister(array $input) {
return $input['key1'];
}
}
我收到以下错误:
Argument 1 passed to App\KeywordGeotarget::scopeRegister() must be of the type array, object given
这里发生了什么,以及如何我可以访问模型中的静态方法数组中定义的值?
编辑:我只是用小炉匠,现在来测试这一点,但这里是我用来调用该方法的代码:
php artisan tinker
>> $input = array('key1'=>'value','key2'=>'value','key3'=>'value', 'key4'=>'value');
>> App\MyClass::register($input);
你能告诉我们你在哪里(代码)调用静态方法吗? – Yes92
plz添加您调用该函数的代码。 –
感谢您阅读这个问题。我更新了问题并添加了我要调用该函数的代码。 – LeviJames