/** * Сообщения отмечаются как прочитанные */ public function actionReadTalkMessages() { $sender = $_POST['sender_id']; $unreadMessages = ChatMessage::find()->where(['sender_id' => $sender, 'recipient_id' => Yii::$app->user->identity->id])->all(); foreach ($unreadMessages as $um) { $um->status = ChatMessage::STATUS_READ; $um->save(); } }
/** * Общее количество непрочитанных сообщений */ public function getUnreadMessageCount() { $count = ChatMessage::find()->where(['recipient_id' => $this->id, 'status' => ChatMessage::STATUS_NEW])->andWhere('sender_id <> ' . $this->id)->count(); return $count; }