yii2tech\admin\behaviors\ModelControlBehavior::newSearchModel PHP Method

newSearchModel() public method

Creates new search model instance.
public newSearchModel ( ) : Model
return yii\base\Model new search model instance.
    public function newSearchModel()
    {
        $modelClass = $this->searchModelClass;
        if ($modelClass === null) {
            if ($this->modelClass === null) {
                throw new InvalidConfigException('Either "' . get_class($this) . '::searchModelClass" or "' . get_class($this) . '::modelClass" must be set.');
            }
            if (class_exists('yii2tech\\ar\\search\\ActiveSearchModel')) {
                $searchModel = new \yii2tech\ar\search\ActiveSearchModel();
                $searchModel->setModel($this->modelClass);
                return $searchModel;
            }
            $modelClass = $this->modelClass . 'Search';
        } elseif (!is_string($modelClass)) {
            return call_user_func($modelClass, $this->owner);
        }
        return new $modelClass();
    }

Usage Example

Ejemplo n.º 1
0
 /**
  * @inheritdoc
  */
 public function newSearchModel()
 {
     $model = parent::newSearchModel();
     foreach ($this->getContextModels() as $name => $contextModel) {
         $attribute = $this->contexts[$name]['attribute'];
         $model->{$attribute} = $contextModel->getPrimaryKey();
     }
     return $model;
 }