Пример #1
0
 public function searchInbox($params)
 {
     $dataProvider = $this->search();
     $dataProvider->query->where(['receiver_id' => Yii::$app->user->id, 'receiver_status' => Message::getInboxStatuses()]);
     if (!($this->load($params) && $this->validate())) {
         $dataProvider->query->joinWith(['senderUser']);
         return $dataProvider;
     }
     $dataProvider->query->andFilterWhere(['like', 'topic', $this->topic]);
     $dataProvider->query->joinWith(['senderUser' => function ($q) {
         $q->where(['like', User::tableName() . '.username', $this->senderName]);
     }]);
     return $dataProvider;
 }