News.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?php
  2. namespace app\models\base;
  3. use Yii;
  4. /**
  5. * This is the model class for table "news".
  6. *
  7. * @property int $id Уникальный id
  8. * @property string $uid uid
  9. * @property string $alias символный URL
  10. * @property string $old_url
  11. * @property string $dt_pub дата публикации
  12. * @property string $dt_cr дата создания
  13. * @property string $dt_upd дата изменения
  14. * @property int $rev ревизия документа
  15. * @property string $title заг h1
  16. * @property string $lid лид
  17. * @property string $text содержание
  18. * @property string|null $meta_title meta title
  19. * @property string $author автор
  20. * @property string $show_author Показывать автора
  21. * @property string $editors редакторы
  22. * @property string $link URL редиректа
  23. * @property string $embed_url медиа вставка
  24. * @property string $photo_name имя фото файла
  25. * @property string $photo_title подпись фото
  26. * @property string $photo_include Показывать миниатюру
  27. * @property string $photo_rcol Показывать в доп колонке
  28. * @property string $active 0 не пуб. 1 - норм 2 - топ
  29. * @property string $verifed Проверено корректором
  30. * @property string $top в топ новости
  31. * @property string $NH Новость часа
  32. * @property string $comments Включать коменты
  33. * @property int $flags флаги бит маска
  34. * @property string $photo фотогалерея
  35. * @property string $video видео
  36. * @property string $audio аудио
  37. * @property int $export_rss не отдавать в Яндекс новости (mail,dzen,..) бит маска
  38. * @property string $noindex Не отдавать в поиск
  39. * @property int $type тип публикации
  40. * @property int $inscription подпись после статьи (на правах рекл. мед.)
  41. * @property string $old_gallery_title подпись к старым галереям
  42. * @property NewsTopic[] $topics
  43. */
  44. class News extends \yii\db\ActiveRecord
  45. {
  46. /**
  47. * {@inheritdoc}
  48. */
  49. public static function tableName()
  50. {
  51. return 'news';
  52. }
  53. /**
  54. * {@inheritdoc}
  55. */
  56. public function rules()
  57. {
  58. return [
  59. [['id', 'uid', 'old_url', 'rev', 'title', 'lid', 'text', 'editors', 'embed_url', 'photo_name', 'photo_title', 'type', 'old_gallery_title'], 'required'],
  60. [['id', 'rev', 'flags', 'export_rss', 'type', 'inscription'], 'integer'],
  61. [['dt_pub', 'dt_cr', 'dt_upd'], 'safe'],
  62. [['title', 'lid', 'text', 'show_author', 'editors', 'embed_url', 'photo_name', 'photo_title', 'photo_include', 'photo_rcol', 'active', 'verifed', 'top', 'NH', 'comments', 'photo', 'video', 'audio', 'noindex', 'old_gallery_title'], 'string'],
  63. [['uid'], 'string', 'max' => 36],
  64. [['alias', 'old_url', 'author', 'link'], 'string', 'max' => 255],
  65. [['meta_title'], 'string', 'max' => 70],
  66. [['id'], 'unique'],
  67. ];
  68. }
  69. /**
  70. * {@inheritdoc}
  71. */
  72. public function attributeLabels()
  73. {
  74. return [
  75. 'id' => 'ID',
  76. 'uid' => 'Uid',
  77. 'alias' => 'Alias',
  78. 'old_url' => 'Old Url',
  79. 'dt_pub' => 'Dt Pub',
  80. 'dt_cr' => 'Dt Cr',
  81. 'dt_upd' => 'Dt Upd',
  82. 'rev' => 'Rev',
  83. 'title' => 'Title',
  84. 'lid' => 'Lid',
  85. 'text' => 'Text',
  86. 'meta_title' => 'Meta Title',
  87. 'author' => 'Author',
  88. 'show_author' => 'Show Author',
  89. 'editors' => 'Editors',
  90. 'link' => 'Link',
  91. 'embed_url' => 'Embed Url',
  92. 'photo_name' => 'Photo Name',
  93. 'photo_title' => 'Photo Title',
  94. 'photo_include' => 'Photo Include',
  95. 'photo_rcol' => 'Photo Rcol',
  96. 'active' => 'Active',
  97. 'verifed' => 'Verifed',
  98. 'top' => 'Top',
  99. 'NH' => 'Nh',
  100. 'comments' => 'Comments',
  101. 'flags' => 'Flags',
  102. 'photo' => 'Photo',
  103. 'video' => 'Video',
  104. 'audio' => 'Audio',
  105. 'export_rss' => 'Export Rss',
  106. 'noindex' => 'Noindex',
  107. 'type' => 'Type',
  108. 'inscription' => 'Inscription',
  109. 'old_gallery_title' => 'Old Gallery Title',
  110. ];
  111. }
  112. /**
  113. * {@inheritdoc}
  114. * @return NewsQuery the active query used by this AR class.
  115. */
  116. public static function find()
  117. {
  118. return new NewsQuery(get_called_class());
  119. }
  120. /**
  121. * @return \yii\db\ActiveQuery
  122. */
  123. public function getTopicRelations()
  124. {
  125. return $this->hasMany(NewsTopicRelation::class,['news_id'=>'id']);
  126. }
  127. /**
  128. * @return \yii\db\ActiveQuery
  129. */
  130. public function getTopics()
  131. {
  132. return $this->hasMany(NewsTopic::class,['id'=>'topic_id'])->via('topicRelations');
  133. }
  134. }