С версии: 5.11 (03.10.2016)
Автор: Sergy Goncharov (s.honcharov@scalr.com)
Наследование: extends Scalr\Model\AbstractEntity, implements Scalr\DataType\ScopeInterface, implements Scalr\DataType\AccessPermissionsInterface
Пример #1
0
 /**
  * Get announcements from DB ordered by `added` desc
  *
  * @param  $type   string  Announcement type, equals self::TYPE_MESSAGE
  * @param  $params mixed[]
  *                 - interval  int Diff in seconds from NOW. For announcements filtering.
  *                 - accountId int optional Account ID
  * @return array
  */
 private function dbAnnouncements($type, $params)
 {
     $data = [];
     $minDt = (new \DateTime())->setTimestamp($this->tmRequestDashboard - $params['interval']);
     $limit = 100;
     if (empty($params['accountId'])) {
         $criteria = [['accountId' => null]];
     } else {
         $criteria = ['$or' => [['accountId' => $params['accountId']], ['accountId' => null]]];
     }
     $criteria[] = ['added' => ['$gte' => $minDt]];
     $result = Announcement::find($criteria, null, ['added' => false], $limit);
     /* @var $announcement Scalr\Model\Entity\Announcement */
     foreach ($result as $announcement) {
         $data[] = $this->prepareDataForDashboard($announcement);
     }
     return ['data' => $data];
 }