mod = M('home_stores'); } /** * 获取数据 * @author: linch */ public function get_data($search, $page_num, $page_size, $type = 0) { $where = array( 'status' => self::status_on, ); if ($search['city_id'] > 0) { $where['city_id'] = $search['city_id']; } if (isset($search['is_new'])) { $where['is_new'] = $search['is_new']; } $order = 'id asc'; $limit = ($page_num - 1) * $page_size . ' ,' . $page_size; $field = '*'; $list = $this->where($where)->order($order)->field($field)->limit($limit)->select(); $count = $this->where($where)->count(); $Page = new \Common\Common\util\PageO($count, $page_size); // $Page = new \Think\Page($count, $page_size); $pager = $Page->show(); if (($type == 1) && count($list) < $page_size) { $list[] = $this->get_default_store(); } $store_id_arr = array(); foreach ($list as $k => $v) { $store_id_arr[] = $v['id']; $list[$k]['have_news'] = 0; } //查看文章是否有分店的 if (!empty($store_id_arr)) { $news_model = new \Common\Model\HomeNewModel(); $news_temp = $news_model->field('distinct(store_id) as store_id')->where(array('store_id' => array('in', $store_id_arr), 'status' => $news_model::status_on))->select(); $news_data = array(); foreach ($news_temp as $k => $v) { $news_data[$v['store_id']] = $v; } } //整合数据 foreach ($list as $k => $v) { if (!empty($news_data[$v['id']])) { $list[$k]['have_news'] = 1; } } $data = array( 'list' => $list, 'count' => $count, 'pager' => $pager, ); return $data; } /** * 获取填充数据 * @author: linch */ public function get_default_store() { return array( 'name' => '', 'address' => '', 'img' => 'https://img.x-motion.cn/home/image/store_join.jpg', 'date' => '', 'time' => '', 'tel' => '', ); } }