Your IP : 216.73.217.87
<?php
namespace app\models;
use Yii;
use yii\behaviors\TimestampBehavior;
class SupportQuestions extends \yii\db\ActiveRecord {
public static function tableName() {
return '{{%support_questions}}';
}
public function behaviors() {
return [
[
'class' => TimestampBehavior::className(),
'createdAtAttribute' => 'date_added',
'updatedAtAttribute' => NULL,
],
];
}
public function rules() {
return [
[['member_id', 'question'], 'required'],
[['member_id', 'status', 'date_added'], 'integer'],
[['question'], 'string'],
[['question'], 'string', 'max' => 1000]
];
}
public function attributeLabels() {
return [
'question_id' => Yii::t('app', 'ID на въпроса'),
'member_id' => Yii::t('app', 'ID на автора'),
'question' => Yii::t('app', 'Въпрос'),
'status' => Yii::t('app', 'Статус'),
'date_added' => Yii::t('app', 'Дата на добавяне'),
];
}
public function getQuestions($where = [], $limit = null) {
$cacheKey = md5('view-questions-where-' . json_encode($where) . '-limit-' . json_encode($limit));
$questions = Yii::$app->cache->get($cacheKey);
if ($questions === false) {
$questions = $this->find()->where($where)->limit($limit);
Yii::$app->cache->set($cacheKey, $questions, 5 * 60);
}
return $questions;
}
public function getLatestQuestionsCount() {
$questionsCount = $this->find()->where('`date_added` > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 10 DAY))')->count();
return $questionsCount;
}
public function addQuestion() {
$this->member_id = Yii::$app->user->identity->member_id;
return $this->save();
}
public function deleteQuestion($questionInfo) {
return $questionInfo->delete();
}
public function getQuestion($questionID) {
return $this->findOne($questionID);
}
public function getAnswers() {
return $this->hasMany(SupportAnswers::className(), ['question_id' => 'question_id'])->count();
}
public function getAuthor() {
return $this->hasOne(Members::className(), ['member_id' => 'member_id']);
}
}