123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- <?php
- /**
- * @author: xaboy<365615158@qq.com>
- * @day: 2017/11/02
- */
- namespace app\admin\model\wechat;
- use crmeb\traits\ModelTrait;
- use crmeb\basic\BaseModel;
- use app\admin\model\article\Article as ArticleModel;
- /**
- * 图文消息 model
- * Class WechatNewsCategory
- * @package app\admin\model\wechat
- */
- class WechatNewsCategory extends BaseModel
- {
- /**
- * 数据表主键
- * @var string
- */
- protected $pk = 'id';
- /**
- * 模型名称
- * @var string
- */
- protected $name = 'wechat_news_category';
- use ModelTrait;
- /**
- * 获取配置分类
- * @param array $where
- * @return array
- */
- public static function getAll($where = array())
- {
- $model = new self;
- // if($where['status'] !== '') $model = $model->where('status',$where['status']);
- // if($where['access'] !== '') $model = $model->where('access',$where['access']);
- if ($where['cate_name'] !== '') $model = $model->where('cate_name', 'LIKE', "%$where[cate_name]%");
- $model = $model->where('status', 1);
- return self::page($model, function ($item) use ($where) {
- $new = ArticleModel::where('id', 'in', $item['new_id'])->where('status', 1)->where('hide', 0)->select();
- if ($new) $new = $new->toArray();
- $item['new'] = $new;
- });
- }
- /**
- * 获取一条图文
- * @param int $id
- * @return array|false|\PDOStatement|string|\think\Model
- */
- public static function getWechatNewsItem($id = 0, $new_id = 0)
- {
- if (!$id) return [];
- $list = self::where('id', $id)->where('status', 1)->field('cate_name as title,new_id')->find();
- if ($list) {
- $list = $list->toArray();
- $new = ArticleModel::where('id', $new_id)->where('status', 1)->where('hide', 0)->select();
- $new = $new->toArray();
- if ($new) {
- $temp = [];
- $temp[] = $new[0];
- $list['new'] = $temp;
- } else {
- $list['new'] = $new;
- }
- }
- return $list;
- }
- /**
- * 获取发送图文
- * @param array $where
- * @return array
- */
- public static function getSendAll($where = array())
- {
- $model = new self();
- if ($where['cate_name'] !== '') $model = $model->where('cate_name', 'LIKE', "%$where[cate_name]%");
- $new_ids = $model->where('status', 1)->column('new_id');
- $new_ids = array_values($new_ids);
- $new_ids = implode(',', $new_ids);
- $model = ArticleModel::where('status', 1)->where('hide', 0)->where('id', 'in', $new_ids)->field('id,title,image_input,add_time');
- return ArticleModel::page($model, function ($item) use ($where) {
- $new = self::where('status', 1)->whereFindInSet('new_id', $item['id'])->find();
- $item['cate_name'] = $new['cate_name'];
- $temp[0]['title'] = $item['title'];
- $temp[0]['image_input'] = $item['image_input'];
- $temp[0]['id'] = $item['id'];
- $temp[0]['add_time'] = $item['add_time'];
- $item['id'] = $new['id'];
- $item['new'] = $temp;
- });
- }
- }
|