Пример #1
0
 /**
  * Returns vount unreaded messages for user
  * @return int
  */
 public function actionCount()
 {
     return Message::find()->byRecipient()->unread()->count();
 }
Пример #2
0
 /**
  * Returns data provider for messages
  * @return object|ActiveDataProvider
  * @throws \yii\base\InvalidConfigException
  */
 public function getDataProvider()
 {
     if (is_null($this->_dataProvider)) {
         $query = Message::find()->byContact($this->contactId, $this->userId)->with(['author', 'recipient']);
         if (is_callable($this->queryModifier)) {
             $func = $this->queryModifier;
             $func($query);
         }
         $this->_dataProvider = Yii::createObject(ArrayHelper::merge(['class' => ActiveDataProvider::className(), 'query' => $query], $this->dataProviderOptions));
         $this->_dataProvider->sort->defaultOrder = $this->defaultOrder;
         $this->_dataProvider->pagination->pageSize = $this->pageSize;
     }
     return $this->_dataProvider;
 }