作用

使用通用数据列表模型显示数据的时候,用此方法设置数据的查询条件。例如下面的例子,通过获取传递的二维码id,通过setListMap查询条件,筛选出此二维码对应的扫描记录。

示例

setListMap - 图1

视图类实现

  1. /**
  2. * 扫码统计
  3. * @author 艾逗笔<765532665@qq.com>
  4. */
  5. public function statistics() {
  6. if (I('get.qrcode_id')) {
  7. $this->setListMap(array('mpid'=>get_mpid(),'qrcode_id'=>I('get.qrcode_id')));
  8. } else {
  9. $this->setListMap(array('mpid'=>get_mpid()));
  10. }
  11. $this->addCrumb('公众号管理', U('Index/index'), '')
  12. ->addCrumb('场景二维码', U('SceneQrcode/lists'), '')
  13. ->addCrumb('扫码统计', '', 'active')
  14. ->addNav('二维码管理', U('lists'), '')
  15. ->addNav('扫码统计', U('statistics'), 'active')
  16. ->setModel('scene_qrcode_statistics')
  17. ->setListOrder('ctime desc')
  18. ->addListItem('openid', '扫码者头像', 'function', array('function_name'=>'get_fans_headimg'))
  19. ->addListItem('openid', '扫码者昵称', 'function', array('function_name'=>'get_fans_nickname'))
  20. ->addListItem('scene_name', '二维码场景名称')
  21. ->addListItem('keyword', '关联关键词')
  22. ->addListItem('scan_type', '扫码类型', 'enum', array('options'=>array('subscribe'=>'扫码关注','scan'=>'扫码带参数')))
  23. ->addListItem('ctime', '扫码时间', 'function', array('function_name'=>'date','params'=>'Y-m-d H:i:s,###'))
  24. ->common_lists();
  25. }
  26. ```
  27. ## 模型实现
  28. ```
  29. $model['list_map'] = array('mpid'=>get_mpid(),'qrcode_id'=>I('get.qrcode_id'));
  30. ```