private function readNews($deviceId, $id) { Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $accountId = $this->getAccountId(); if (empty($accountId)) { return ['data' => 401, 'detail ' => 'No info found with this account Id.', 'event' => [], 'success' => 0]; } $newsRecord = new ReadNewsRecord(); $readNewsRecord = $newsRecord->getItem(['accountId' => $accountId, 'deviceId' => $deviceId]); if (empty($readNewsRecord)) { $record = new ReadNewsRecord(); $record->accountId = $accountId; $record->deviceId = $deviceId; $record->readedNewsId = [$id]; $record->save(); unset($record); } else { $hasSame = false; $idList = $readNewsRecord['readedNewsId']; foreach ($idList as &$value) { if ((string) $value == $id) { $hasSame = true; break; } } if (!$hasSame) { array_push($idList, $id); $newsRecord->updateItem(['accountId' => $accountId, 'deviceId' => $deviceId], $idList); } } unset($newsRecord); return ['code' => 200]; }