SqlDataProvider and Search Model

Hi, I have created gridView using SqlDataProvider, and it works perfect. But now I need to create some filters for it. How can I do it? I think the best way is to create searchModel, but I don’t understand how.




    public function actionIndex()

    {

        $count = (int) Yii::$app->db->createCommand('SELECT COUNT(*) FROM users')->queryScalar();


        $dataProvider = new SqlDataProvider([

            'sql' => 'SELECT  

                        `id`,

                        `username`,

                        ROUND(SUM(IF(p.`points` is NULL,0,p.`points`)),2) AS `points`, 

                      FROM `users`

                        LEFT JOIN `points` AS p ON (`users`.id = p.`id_user`)                                  

                        GROUP BY t1.`id`',

            'key' => 'id',

            'totalCount' => $count,

            'sort' => [

                'attributes' => [

                    'id',

                    'username',

                    'points',

                ],

            ],

            'pagination' => [

                'pageSize' => 20,

            ],

        ]);


        return $this->render('index',

                [

                'dataProvider' => $dataProvider,

        ]);

    }






    <?=

    GridView::widget([

        'dataProvider' => $dataProvider,        

        'columns' => [

            ['class' => 'yii\grid\SerialColumn'],

            'username',

            'id',

            'points',

        ],

    ]);

    ?>