Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 
 

164 righe
4.3 KiB

  1. <?php
  2. namespace backend\modules\api\models;
  3. use yii\db\ActiveRecord;
  4. /**
  5. * This is the model class for table "base_area".
  6. *
  7. * @property integer $ID
  8. * @property integer $PARENT_ID
  9. * @property integer $CANCEL_FLAG
  10. * @property integer $CREATE_USER_ID
  11. * @property string $CREATE_TIME
  12. * @property integer $UPDATE_USER_ID
  13. * @property string $UPDATE_TIME
  14. * @property string $AREA_NAME
  15. * @property string $POSTCODE
  16. * @property string $POI_TYPE
  17. * @property integer $POI_TYPE1
  18. * @property string $POI_TYPE2
  19. */
  20. class BaseArea extends ActiveRecord
  21. {
  22. /**
  23. * @inheritdoc
  24. */
  25. public static function tableName()
  26. {
  27. return 'base_area';
  28. }
  29. /**
  30. * @inheritdoc
  31. */
  32. public function rules()
  33. {
  34. return [
  35. [['ID', 'UPDATE_TIME', 'AREA_NAME'], 'required'],
  36. [['ID', 'PARENT_ID', 'CANCEL_FLAG', 'CREATE_USER_ID', 'UPDATE_USER_ID', 'POI_TYPE1'], 'integer'],
  37. [['CREATE_TIME', 'UPDATE_TIME', 'POSTCODE', 'POI_TYPE'], 'string', 'max' => 20],
  38. [['AREA_NAME'], 'string', 'max' => 100],
  39. [['POI_TYPE2'], 'string', 'max' => 255],
  40. ];
  41. }
  42. /**
  43. * @inheritdoc
  44. */
  45. public function attributeLabels()
  46. {
  47. return [
  48. 'ID' => 'ID',
  49. 'PARENT_ID' => '父记录ID,DICT_TYPE.ID',
  50. 'CANCEL_FLAG' => '记录有效性标记,CANCEL_FLAG=0记录有效;CANCEL_FLAG=1,记录已删除',
  51. 'CREATE_USER_ID' => '记录创建用户ID',
  52. 'CREATE_TIME' => '记录创建时间',
  53. 'UPDATE_USER_ID' => '记录最后更新用户ID',
  54. 'UPDATE_TIME' => '记录最后更新时间',
  55. 'AREA_NAME' => 'Area Name',
  56. 'POSTCODE' => '邮编',
  57. 'POI_TYPE' => 'POI类型',
  58. 'POI_TYPE1' => '类别',
  59. 'POI_TYPE2' => '类型',
  60. ];
  61. }
  62. /**
  63. * Function Description:获取分页数组
  64. * Function Name: getPage
  65. *
  66. * @param int $total_row 总条数
  67. * @param int $page_size 每页条数
  68. * @param int $current_page 当前页
  69. *
  70. * @return array
  71. *
  72. * @author 张帅
  73. */
  74. public function getPage($total_row, $page_size, $current_page)
  75. {
  76. $total_page = ceil($total_row / $page_size);
  77. if ($total_page <= 1) {
  78. $page_arr = [];
  79. return $page_arr;
  80. }
  81. #region 页首
  82. $page_arr = ['首页', '<上一页', 1];
  83. #endregion
  84. #region 页前
  85. if ($current_page <= 5) {
  86. for ($i = 2; $i <= $current_page; $i++) {
  87. $page_arr[] = $i;
  88. }
  89. } else {
  90. if ($total_page > 6) {
  91. $page_arr[] = '...';
  92. }
  93. if ($total_page - $current_page <= 2) {
  94. for ($i = $total_page - 4; $i <= $current_page; $i++) {
  95. $page_arr[] = $i;
  96. }
  97. } else {
  98. $page_arr[] = $current_page - 2;
  99. $page_arr[] = $current_page - 1;
  100. $page_arr[] = $current_page;
  101. }
  102. }
  103. #endregion
  104. #region 页后
  105. if ($total_page - $current_page <= 4) {
  106. for ($i = $current_page + 1; $i < $total_page; $i++) {
  107. $page_arr[] = $i;
  108. }
  109. } else {
  110. if ($current_page >= 3) {
  111. $page_arr[] = $current_page + 1;
  112. $page_arr[] = $current_page + 2;
  113. if ($total_page > 6) {
  114. $page_arr[] = '...';
  115. }
  116. } else {
  117. for ($i = $current_page + 1; $i <= 5; $i++) {
  118. $page_arr[] = $i;
  119. }
  120. if ($total_page > 6) {
  121. $page_arr[] = '...';
  122. }
  123. }
  124. }
  125. #endregion
  126. #region 页尾
  127. if ($current_page != $total_page) {
  128. $page_arr[] = $total_page;
  129. }
  130. $page_arr[] = '下一页>';
  131. $page_arr[] = '末页';
  132. #endregion
  133. return $page_arr;
  134. }
  135. /**
  136. * Des:获取信息
  137. * Name: getInfo
  138. * @param $name
  139. * @return array
  140. * @author 倪宗锋
  141. */
  142. public function getInfoByName($name)
  143. {
  144. $info = self::find()
  145. ->from(self::tableName())
  146. ->where(['=', 'AREA_NAME', $name])
  147. ->asArray()
  148. ->one();
  149. return $info;
  150. }
  151. }