Code Duplication    Length = 83-83 lines in 2 locations

models/CategorySearch.php 1 location

@@ 14-96 (lines=83) @@
11
 *
12
 * @package app\models
13
 */
14
class CategorySearch extends Category
15
{
16
    /**
17
     * @inheritdoc
18
     */
19
    public function rules()
20
    {
21
        return [
22
            [
23
                ['id'],
24
                'integer',
25
            ],
26
            [
27
                [
28
                    'title',
29
                    'description'
30
                ],
31
                'string',
32
            ],
33
            [
34
                [
35
                    'created_at',
36
                    'updated_at',
37
                ],
38
                'safe',
39
            ],
40
        ];
41
    }
42
43
    /**
44
     * @inheritdoc
45
     */
46
    public function scenarios()
47
    {
48
        // bypass scenarios() implementation in the parent class
49
        return Model::scenarios();
50
    }
51
52
    /**
53
     * Creates data provider instance with search query applied
54
     *
55
     * @param array $params
56
     *
57
     * @return ActiveDataProvider
58
     */
59
    public function search($params)
60
    {
61
        $query = Category::find();
62
63
        // add conditions that should always apply here
64
65
        $dataProvider = new ActiveDataProvider([
66
            'query' => $query,
67
        ]);
68
69
        $this->load($params);
70
71
        if (!$this->validate()) {
72
            // uncomment the following line if you do not want to return any records when validation fails
73
            // $query->where('0=1');
74
            return $dataProvider;
75
        }
76
77
        // grid filtering conditions
78
        $query->andFilterWhere([
79
            'id' => $this->id,
80
            'created_at' => $this->created_at,
81
            'updated_at' => $this->updated_at,
82
        ]);
83
84
        $query->andFilterWhere(['like', 'title', $this->title]);
85
        $query->andFilterWhere(['like', 'description', $this->description]);
86
87
        $pagination = new Pagination([
88
            'defaultPageSize' => Yii::$app->params['defaultPageSize'],
89
            'totalCount' => $query->count(),
90
        ]);
91
92
        $dataProvider->setPagination($pagination);
93
94
        return $dataProvider;
95
    }
96
}
97

models/PageSearch.php 1 location

@@ 14-96 (lines=83) @@
11
 *
12
 * @package app\models
13
 */
14
class PageSearch extends Page
15
{
16
    /**
17
     * @inheritdoc
18
     */
19
    public function rules()
20
    {
21
        return [
22
            [
23
                ['id'],
24
                'integer',
25
            ],
26
            [
27
                [
28
                    'title',
29
                    'description'
30
                ],
31
                'string',
32
            ],
33
            [
34
                [
35
                    'created_at',
36
                    'updated_at',
37
                ],
38
                'safe',
39
            ],
40
        ];
41
    }
42
43
    /**
44
     * @inheritdoc
45
     */
46
    public function scenarios()
47
    {
48
        // bypass scenarios() implementation in the parent class
49
        return Model::scenarios();
50
    }
51
52
    /**
53
     * Creates data provider instance with search query applied
54
     *
55
     * @param array $params
56
     *
57
     * @return ActiveDataProvider
58
     */
59
    public function search($params)
60
    {
61
        $query = Page::find();
62
63
        // add conditions that should always apply here
64
65
        $dataProvider = new ActiveDataProvider([
66
            'query' => $query,
67
        ]);
68
69
        $this->load($params);
70
71
        if (!$this->validate()) {
72
            // uncomment the following line if you do not want to return any records when validation fails
73
            // $query->where('0=1');
74
            return $dataProvider;
75
        }
76
77
        // grid filtering conditions
78
        $query->andFilterWhere([
79
            'id' => $this->id,
80
            'created_at' => $this->created_at,
81
            'updated_at' => $this->updated_at,
82
        ]);
83
84
        $query->andFilterWhere(['like', 'title', $this->title]);
85
        $query->andFilterWhere(['like', 'description', $this->description]);
86
87
        $pagination = new Pagination([
88
            'defaultPageSize' => Yii::$app->params['defaultPageSize'],
89
            'totalCount' => $query->count(),
90
        ]);
91
92
        $dataProvider->setPagination($pagination);
93
94
        return $dataProvider;
95
    }
96
}
97