• Yii2 search 搜索[数据小部件--GridView--数据过滤]


    Yii2 搜索条件,使用gii创建搜索模型

    <?php
    
    namespace appmodels;
    
    use Yii;
    use yiiaseModel;
    use yiidataActiveDataProvider;
    
    class PostSearch extends Post
    {
        public function rules()
        {
            // 只有在 rules() 函数中声明的字段才可以搜索
            return [
                [['id'], 'integer'],
                [['title', 'creation_date'], 'safe'],
            ];
        }
    
        public function scenarios()
        {
            // 旁路在父类中实现的 scenarios() 函数
            return Model::scenarios();
        }
    
        public function search($params)
        {
            $query = Post::find();
    
            $dataProvider = new ActiveDataProvider([
                'query' => $query,
            ]);
    
            // 从参数的数据中加载过滤条件,并验证
            //  var_dump($this->validate());  
            //  var_dump($this->getErrors()); 查看搜索条是否合法,获取错误信息
            if (!($this->load($params) && $this->validate())) {
                return $dataProvider;
            }
    
            // 增加过滤条件来调整查询对象
            $query->andFilterWhere(['id' => $this->id]);
            $query->andFilterWhere(['like', 'title', $this->title])
                  ->andFilterWhere(['like', 'creation_date', $this->creation_date]);
    
            return $dataProvider;
        }
    }

    官方: yii2 search 数据过滤

  • 相关阅读:
    bzoj 1054
    bzoj 1047
    bzoj 2761
    bzoj 1191
    bzoj 2748
    bzoj_1003 物流运输
    新的开始( [USACO08OCT]打井Watering Hole)
    map
    Generic Cow Protests-G——60分做法
    逆序对
  • 原文地址:https://www.cnblogs.com/dafei4/p/12939104.html
Copyright © 2020-2023  润新知