yiisoft/yii2 · error · InvalidConfigException
`{}`::$searchModel` should be an instance of `{}` or its DI
Error message
`{}`::$searchModel` should be an instance of `{}` or its DI compatible configuration. What it means
Error "`{}`::$searchModel` should be an instance of `{}` or its DI compatible configuration." thrown in yiisoft/yii2.
Source
Thrown at framework/data/DataFilter.php:292
/**
* @param mixed $filter raw filter value.
*/
public function setFilter($filter)
{
$this->_filter = $filter;
}
/**
* @return Model model instance.
* @throws InvalidConfigException on invalid configuration.
*/
public function getSearchModel()
{
if (!is_object($this->_searchModel) || $this->_searchModel instanceof \Closure) {
$model = Yii::createObject($this->_searchModel);
if (!$model instanceof Model) {
throw new InvalidConfigException('`' . get_class($this) . '::$searchModel` should be an instance of `' . Model::className() . '` or its DI compatible configuration.');
}
$this->_searchModel = $model;
}
return $this->_searchModel;
}
/**
* @param Model|array|string|callable $model model instance or its DI compatible configuration.
* @throws InvalidConfigException on invalid configuration.
*/
public function setSearchModel($model)
{
if (is_object($model) && !$model instanceof Model && !$model instanceof \Closure) {
throw new InvalidConfigException('`' . get_class($this) . '::$searchModel` should be an instance of `' . Model::className() . '` or its DI compatible configuration.');
}
$this->_searchModel = $model;
}
View on GitHub (pinned to 66f00d18a2)
When it happens
Trigger: Thrown at framework/data/DataFilter.php:292 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of yiisoft/yii2@66f00d18a2 (2026-08-17).
Data as JSON: /api/errors/71f61a78186be251.
Report an issue: GitHub.