首页 > 编程 > PHP > 正文

为yii2 (二)

2020-03-22 17:03:00
字体:
来源:转载
供稿:网友
  • 今天来记录下yii2 的数据提供器,嗯,主要的流程呢,还是以代码说话吧

    活动数据提供器

    这里呢,我们会用到 ActiveDataProvider 这个类,传到数组元素呢,可以是查询条件,也可以包含分页信息

     1 /* 方法1 */ 2 html' target='_blank'>public function actionShow() 3 { 4     $provider = new ActiveDataProvider([ 5         'query' => Country::find(), 6         'pagination'    => [ 7             'pageSize'  => 4, 8         ], 9     ]);10     $data = $provider->getModels();11     var_dump($data);12 }13 /* 方法2: 活动数据提取器的使用  */14 public function actionActiveData()15 {16     $query = new Query();17     $provider = new ActiveDataProvider([18         'query' => $query -> from('country'),19         'pagination'    => [20             'pageSize'  => 521         ]22     ]);23     $data = $provider->getModels();24     var_dump( $data );25 }

    数组数据提供器

    这个数据提供器,用到的 是 ArrayDataProvider 类

    /* 数组数据提供器 */public function actionArrayData(){    $query = new Query();    $provider = new ArrayDataProvider([        'allModels' => $query -> from('country')->all(),        'sort'  => [            'attributes'    => ['code' , 'name']        ],        'pagination'    => [            'pageSize'  => 5        ]    ]);    $data = $provider->getModels();    print_r($data);}

    sql 数据提供器

    在里用到到数据提供器类呢,就是 SqlDataProvider 类,里面的参数,见代码

     1 /* sql 数据提供器的使用 */ 2 public function actionSqlData() 3 { 4     $count = Yii::$app->db->createCommand(' 5         select count(*) from country where code=:code 6     ' ,[':code' => 'US'])->queryScalar(); 7     $provider = new SqlDataProvider([ 8         'sql'   => ' select * from country where code=:code' ,    #sql 语句 9         'params'=> [':code' => 'US'],                     #查询条件对应的值 和 sql 语句中的 :code 对应10         'totalCount'=>$count ,          #这里是数据总数11         'sort'  => [                #这里就是在排序了12             'attributes'    => [13                 'code',14             ]15         ],16         'pagination'    => [            #分页信息17             'pageSize'  => 518         ]19     ]);20     $data = $provider-> getModels();21     var_dump($data);22 }
    PHP编程

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表