Beispiel #1
0
 /**
  * Получить Лайки документа/ов
  * при shedule = flase - общее количество за все время
  * при shedule = true - количество лайков, сгруппированные по дням
  * @param null $document_ids - ID документа (-ов)
  * @param bool $shedule - включить расписание просмотров?
  * @return array|\yii\db\ActiveRecord[] - возвращает только дату, id документа, кол-во лайков
  */
 public static function getAll($document_ids = null, $shedule = false)
 {
     $table = self::tableName();
     $group_by = $shedule ? 'DATE(created_at)' : 'document_id';
     if ($document_ids) {
         $ids = is_array($document_ids) ? implode(',', $document_ids) : $document_ids;
         $sql = 'SELECT date(created_at) as created_at , document_id, count(document_id) as count FROM `' . $table . '` where document_id IN (' . $ids . ') GROUP BY ' . $group_by;
     } else {
         $sql = 'SELECT date(created_at) as created_at , document_id, count(document_id) as count FROM `' . $table . '` GROUP BY ' . $group_by;
     }
     $model = Like::findBySql($sql)->all();
     return $model;
 }