class OrderSearch extends Model
{
public $name;
public $surname;
public $patronymic;
public function rules()
{
return [
// необходимые правила валидации
];
}
public function scenarios()
{
return Model::scenarios(); // TODO: Change the autogenerated stub
}
/**
* @param $params
* @return ActiveDataProvider
*/
public function search($params)
{
$query = Order::find()
->where(['status' => Order::STATUS_ACTIVE]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$this->load($params);
if (!$this->validate()){
return $dataProvider;
}
$query->andFilterWhere([
'name' => $this->name,
'patronymic' => $this->patronymic,
'surname' => $this->surname,
]);
return $dataProvider;
}
}
public function actionIndex()
{
$searchModel = new OrderSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', ['dataProvider' => $dataProvider]);
}
Модули - это законченные программные блоки, состоящие из моделей, представлений, контроллеров и других вспомогательных компонентов. При установке модулей в приложение, конечный пользователь получает доступ к их контроллерам. По этой причине модули часто рассматриваются как миниатюрные приложения. В отличие от приложений, модули нельзя развертывать отдельно. Модули должны находиться внутри приложений.
Виджеты представляют собой многоразовые строительные блоки, используемые в представлениях для создания сложных и настраиваемых элементов пользовательского интерфейса в рамках объектно-ориентированного подхода. Например, виджет выбора даты (date picker) позволяет генерировать интерактивный интерфейс для выбора дат, предоставляя пользователям приложения удобный способ для ввода данных такого типа. Все, что нужно для подключения виджета - это добавить следующий код в представление:
Вы документацию по yii2 читали?
Не надо бездумно копировать код!!!