123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- <?php
- namespace common\models;
- class Live extends Common
- {
- public function rules()
- {
- return [
- ['title', 'required', 'message' => '{attribute}不能为空'],
- ['title', 'string', 'max' => 255],
- ['img', 'string'],
- [['hid', 'city', 'sort'], 'number'],
- ['hid', 'unique', 'targetClass' => 'common\models\Live', 'on' => 'add', 'message' => '该楼盘已经存在'],
- [['video_url', 'rtmp_url', 'time'], 'string']
- ];
- }
- public function attributeLabels()
- {
- return [
- 'hid' => '楼盘',
- 'city' => '区域',
- 'title' => '标题',
- 'video_url' => '回放地址',
- 'rtmp_url' => '拉流地址',
- 'time' => '直播时间'
- ];
- }
- public function getList($input)
- {
- $query = self::find();
- $query->select(['pfg_live.id', 'pfg_live.img', 'pfg_live.title', 'pfg_live.time', 'pfg_live.create_at', 'pfg_live.sort',
- 'pfg_house.name', 'pfg_category_city.city_name']);
- $query->leftJoin('pfg_house', 'pfg_live.hid = pfg_house.id');
- $query->leftJoin('pfg_category_city', 'pfg_live.city = pfg_category_city.id');
- if (!empty($input['title'])) {
- $query->andWhere(['like', 'pfg_live.title', $input['title']]);
- }
- if (!empty($input['page'])) {
- $query->limit = $input['limit'];
- $query->offset = ($input['page'] - 1) * $input['limit'];
- }
- return $query->orderBy(['pfg_live.sort' => SORT_DESC, 'pfg_live.create_at' => SORT_DESC])->asArray()->all();
- }
- public function Total($input)
- {
- $query = self::find();
- if (!empty($input['title'])) {
- $query->andWhere(['like', 'pfg_live.title', $input['title']]);
- }
- $query->leftJoin('pfg_category_city', 'pfg_live.city = pfg_category_city.id');
- $query->leftJoin('pfg_house', 'pfg_live.hid = pfg_house.id');
- return $query->count();
- }
- public function showList($input)
- {
- $query = self::find();
- $query->select(['pfg_live.id', 'pfg_live.hid', 'pfg_live.city', 'pfg_live.img', 'pfg_live.title', 'pfg_live.time', 'pfg_live.video_url', 'pfg_live.create_at', 'pfg_category_city.city_name']);
- $query->joinWith(['house', 'house.cityNameByProvince']);
- $query->leftJoin('pfg_category_city', 'pfg_live.city = pfg_category_city.id');
- $query->joinWith(['house.cityNameByProvince']);
- if (!empty($input['title'])) {
- $query->andWhere(['like', 'pfg_live.title', $input['title']]);
- }
- if (!empty($input['city'])) {
- $query->andWhere(['pfg_live.city' => $input['city']]);
- }
- if (!empty($input['page'])) {
- $query->limit = $input['limit'];
- $query->offset = ($input['page'] - 1) * $input['limit'];
- } else {
- $query->limit = 4;
- }
- return $query->orderBy(['pfg_live.sort' => SORT_DESC, 'pfg_live.create_at' => SORT_DESC])->asArray()->all();
- }
- public function getListArea()
- {
- $query = self::find();
- $query->select(['pfg_live.id', 'pfg_live.hid', 'pfg_live.img', 'pfg_live.title', 'pfg_live.time', 'pfg_live.create_at', 'pfg_category_city.city_name', 'pfg_live.city']);
- $query->joinWith(['house', 'house.cityNameByProvince']);
- $query->leftJoin('pfg_category_city', 'pfg_live.city = pfg_category_city.id');
- $query->joinWith(['house.cityNameByProvince']);
- return $query->orderBy(['pfg_category_city.sort' => SORT_DESC])->asArray()->all();
- }
- public function getHouse()
- {
- return $this->hasOne(House::className(), ['id' => 'hid'])->select(['id', 'name', 'province']);
- }
- public function getHouseInfo()
- {
- return $this->hasOne(House::className(), ['id' => 'hid']);
- }
- public function getLiveBySameArea($city, $lid)
- {
- $query = self::find()->andWhere(['city' => $city])->andWhere(['not', ['pfg_live.id' => $lid]])
- ->orderBy('RAND()')->limit(4)->asArray()->all();
- return $query;
- }
- /**
- * 获取所有区域
- * @return array|\yii\db\ActiveRecord[]
- */
- public function getProvince()
- {
- $query = self::find();
- $query->select(['pfg_live.city']);
- return $query->column();
- }
- /**
- * 获取指定条数的直播以及相应的楼盘信息
- * */
- public function getLiveHouseInfo($limit = null)
- {
- $select = [
- 'pfg_house.id',
- 'pfg_house.name',
- 'pfg_house.thumb',
- 'pfg_house.sale_price',
- 'pfg_house.click_num',
- 'pfg_house_detail.price_unit',
- 'pfg_category_city.city_name',
- 'pfg_live.img'
- ];
- $query = self::find();
- $query->select($select);
- $query->leftJoin('pfg_house','pfg_live.hid = pfg_house.id');
- $query->leftJoin('pfg_house_detail','pfg_house.id = pfg_house_detail.hid');
- $query->leftJoin('pfg_category_city','pfg_house.city = pfg_category_city.id');
- if(!empty($limit)){
- $query->limit($limit);
- }
- return $query->orderBy(['pfg_live.time'=>SORT_DESC])->asArray()->all();
- }
- /*
- * 20207.16 lyy 获取楼盘直播视频
- *
- * */
- public function GetOneLiveByHouse($hid)
- {
- $dataOne = self::find()->where(['hid' => $hid])->select('*')->asArray()->one();
- return $dataOne;
- }
- }
|