* @copyright (c), Thread */ class Group extends ActiveRecord { /** * @return string */ public static function getDb() { return ParentModule::getDb(); } /** * @return string */ public static function tableName() { return '{{%faq_group}}'; } /** * @return array */ public function rules() { return [ [['created_at', 'updated_at', 'position'], 'integer'], [['published', 'deleted'], 'in', 'range' => array_keys(static::statusKeyRange())], [['default_title'], 'string', 'max' => 255], [['position'], 'default', 'value' => 0] ]; } /** * @return array */ public function scenarios() { return [ 'published' => ['published'], 'deleted' => ['deleted'], 'backend' => ['published', 'deleted', 'position', 'default_title'], ]; } /** * @return array */ public function attributeLabels() { return [ 'id' => Yii::t('app', 'ID'), 'position' => Yii::t('app', 'Position'), 'created_at' => Yii::t('app', 'Create time'), 'updated_at' => Yii::t('app', 'Update time'), 'published' => Yii::t('app', 'Published'), 'deleted' => Yii::t('app', 'Deleted'), 'title' => Yii::t('app', 'Title'), 'default_title' => Yii::t('app', 'Default Title'), ]; } /** * @return mixed */ public function getLang() { return $this->hasOne(GroupLang::class, ['rid' => 'id']); } /** * @return string */ public function getTitle() { return (isset($this->lang->title)) ? $this->lang->title : "{{$this->default_title}}"; } /** * @return mixed */ public function getArticles() { return $this->hasMany(Article::class, ['group_id' => 'id']); } }