PushmColumn.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: xiaofeng
  5. * Date: 2018/5/21
  6. * Time: 下午5:18
  7. */
  8. namespace common\models;
  9. class PushmColumn extends Common
  10. {
  11. public function rules()
  12. {
  13. return [
  14. ['did', 'unique','on'=>['add'],'message'=>'栏目ID已存在','filter'=>function($query){
  15. return $query->andWhere(['type'=>$this->type]);
  16. }],
  17. ['img','string','max'=>200],
  18. ['img_a','string','max'=>200],
  19. ['did','number'],
  20. ['type','number'],
  21. ['type','in','range'=>[1,2,3]],
  22. ['sort','number','message'=>'排序只能是数字'],
  23. ['sort','number','max'=>100000],
  24. ['sort','default','value'=>0],
  25. ['is_show','default','value'=>1],
  26. ];
  27. }
  28. public function attributeLabels()
  29. {
  30. return [
  31. 'did'=>'栏目ID',
  32. 'sort'=>'排序',
  33. ];
  34. }
  35. public function FindById($id)
  36. {
  37. return self::findOne($id);
  38. }
  39. public function getList($input)
  40. {
  41. $arr = [];
  42. $query = self::find();
  43. $query->select(['pfg_developers.name','pfg_pushm_column.*']);
  44. $query->andFilterWhere(['pfg_pushm_column.type'=>$this->type]);
  45. $query->innerJoin('pfg_developers','pfg_pushm_column.did=pfg_developers.id');
  46. if(!empty($input['page']))
  47. {
  48. $count = clone $query;
  49. $arr['total'] = $count->count();
  50. $query->limit = $input['limit'];
  51. $query->offset = ($input['page']-1 )* $input['limit'];
  52. }
  53. $arr['data'] = $query->orderBy(['pfg_pushm_column.sort'=>SORT_DESC,'pfg_pushm_column.create_at'=>SORT_DESC])->asArray()->all();
  54. return $arr;
  55. }
  56. }