我需要将模型传递给函数,但是似乎我的解决方案不正确,因为我从PHPStorm收到以下错误
需要类型为Illuminate \ Database \ Eloquent \ Model的参数,给定字符串。
这是我的代码的一部分:
/** Return the model structure
*
* @param \Illuminate\Database\Eloquent\Model $model
* @param array $fillData
* @return object
*/
public static function fillBasicModelData(Model $model, $fillData){
...code...
}
下面是我如何调用该函数:
$result = self::fillBasicModelData(Filter::class, $emptyFilter);
显然,过滤器是Illuminate \ Database \ Eloquent \ Model
所以我的问题是如何在没有此警告的情况下将模型传递给函数?
谢谢
显然,过滤器是Illuminate \ Database \ Eloquent \ Model
不,不是。您正在通过Filter::class
。这是模型的类,而不是实例。基本上翻译成字符串'\NameSpace\SomeThing\Filter'
因为您传递的是类而不是模型实例,所以您需要它来实例化模型。
public static function fillBasicModelData($model_class, $fillData){
$model = new $model_class($fillData);
// ...code...
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句