WAccountsSearch.php 3.6 KB
<?php

namespace common\models;

use Yii;
use yii\base\Model;
use yii\data\ActiveDataProvider;
use common\models\WAccounts;

/**
 * WAccountsSearch represents the model behind the search form about `common\models\WAccounts`.
 */
class WAccountsSearch extends WAccounts
{
    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['id', 'if_manager', 'margin_id', 'country', 'city', 'rating', 'dt', 'is_active', 'is_firm', 'office_id', 'is_scribe', 'set_manager_id', 'car', 'mod', 'deliveries', 'scode'], 'integer'],
            [['email', 'pass', 'name', 'phones', 'address', 'comment', 'last_loginin', 'firm_inn', 'firm_bank', 'phones2', 'phones3', 'snumb', 'firm_ur_adr', 'firm_fiz_adr', 'firm_code_eg', 'firm_rs', 'firm_mfo', 'firm_site', 'company'], 'safe'],
            [['balance'], 'number'],
        ];
    }

    /**
     * @inheritdoc
     */
    public function scenarios()
    {
        // bypass scenarios() implementation in the parent class
        return Model::scenarios();
    }

    /**
     * Creates data provider instance with search query applied
     *
     * @param array $params
     *
     * @return ActiveDataProvider
     */
    public function search($params)
    {
        $query = WAccounts::find();

        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);

        $this->load($params);

        if (!$this->validate()) {
            // uncomment the following line if you do not want to return any records when validation fails
            // $query->where('0=1');
            return $dataProvider;
        }

        $query->andFilterWhere([
            'id' => $this->id,
            'if_manager' => $this->if_manager,
            'margin_id' => $this->margin_id,
            'country' => $this->country,
            'city' => $this->city,
            'rating' => $this->rating,
            'dt' => $this->dt,
            'is_active' => $this->is_active,
            'is_firm' => $this->is_firm,
            'balance' => $this->balance,
            'office_id' => $this->office_id,
            'is_scribe' => $this->is_scribe,
            'set_manager_id' => $this->set_manager_id,
            'car' => $this->car,
            'mod' => $this->mod,
            'deliveries' => $this->deliveries,
            'scode' => $this->scode,
        ]);

        $query->andFilterWhere(['like', 'email', $this->email])
            ->andFilterWhere(['like', 'pass', $this->pass])
            ->andFilterWhere(['like', 'name', $this->name])
            ->andFilterWhere(['like', 'phones', $this->phones])
            ->andFilterWhere(['like', 'address', $this->address])
            ->andFilterWhere(['like', 'comment', $this->comment])
            ->andFilterWhere(['like', 'last_loginin', $this->last_loginin])
            ->andFilterWhere(['like', 'firm_inn', $this->firm_inn])
            ->andFilterWhere(['like', 'firm_bank', $this->firm_bank])
            ->andFilterWhere(['like', 'phones2', $this->phones2])
            ->andFilterWhere(['like', 'phones3', $this->phones3])
            ->andFilterWhere(['like', 'snumb', $this->snumb])
            ->andFilterWhere(['like', 'firm_ur_adr', $this->firm_ur_adr])
            ->andFilterWhere(['like', 'firm_fiz_adr', $this->firm_fiz_adr])
            ->andFilterWhere(['like', 'firm_code_eg', $this->firm_code_eg])
            ->andFilterWhere(['like', 'firm_rs', $this->firm_rs])
            ->andFilterWhere(['like', 'firm_mfo', $this->firm_mfo])
            ->andFilterWhere(['like', 'firm_site', $this->firm_site])
            ->andFilterWhere(['like', 'company', $this->company]);

        return $dataProvider;
    }
}