CourseCategory.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace addons\Course\common\models;
  3. use common\enums\StatusEnum;
  4. use common\models\base\BaseActiveRecord;
  5. use Yii;
  6. /**
  7. * This is the model class for table "qimall_addons_course_category".
  8. *
  9. * @property int $id
  10. * @property int $mall_id
  11. * @property int $sort 序号
  12. * @property string $cname 分类名称
  13. * @property string $logo 分类logo图片保存地址
  14. * @property int $is_navicat 是否展示导航,1:是,0:不是
  15. * @property int $status 状态 0禁用,1启用,-1是删除
  16. * @property int $created_at
  17. * @property int $updated_at
  18. */
  19. class CourseCategory extends BaseActiveRecord
  20. {
  21. /**
  22. * {@inheritdoc}
  23. */
  24. public static function tableName()
  25. {
  26. return '{{%addons_course_category}}';
  27. }
  28. /**
  29. * {@inheritdoc}
  30. */
  31. public function rules()
  32. {
  33. return [
  34. [['mall_id'], 'required'],
  35. [['mall_id', 'sort', 'is_navicat', 'status', 'created_at', 'updated_at'], 'integer'],
  36. [['cname'], 'string', 'max' => 150],
  37. [['logo'], 'string', 'max' => 255],
  38. ];
  39. }
  40. /**
  41. * {@inheritdoc}
  42. */
  43. public function attributeLabels()
  44. {
  45. return [
  46. 'id' => 'ID',
  47. 'mall_id' => 'Mall ID',
  48. 'sort' => '序号',
  49. 'cname' => '分类名称',
  50. 'logo' => '分类logo图片保存地址',
  51. 'is_navicat' => '是否展示导航,1:是,0:不是',
  52. 'status' => '状态 0禁用,1启用,-1是删除',
  53. 'created_at' => 'Created At',
  54. 'updated_at' => 'Updated At',
  55. ];
  56. }
  57. public static function setData(int $mall_id, array $data)
  58. {
  59. if (!empty($data['id'])) {
  60. $model = self::findOne(['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED, 'id' => $data['id']]);
  61. if (empty($model)) {
  62. self::$static_error = '数据异常';
  63. return false;
  64. }
  65. } else {
  66. $model = new self();
  67. $model->loadDefaultValues();
  68. $model->mall_id = $mall_id;
  69. $model->status = StatusEnum::ENABLED;
  70. if (empty($data['sort'])) {
  71. $model->sort = 999;
  72. unset($data['sort']);
  73. }
  74. }
  75. foreach ($data as $key => $val) {
  76. $model->$key = $val;
  77. }
  78. if (!$model->save()) {
  79. self::$static_error = '保存数据失败:' . $model->getErrorMessage();
  80. return false;
  81. }
  82. return $model;
  83. }
  84. }