コード例 #1
0
ファイル: Mapper.class.php プロジェクト: evilgeny/bob
 /**
  * Applies grouping for entries from report data
  *
  * @return	void
  **/
 protected function _applyGrouping(RM_Report_Object $obReport)
 {
     deprecated();
     if ($obReport->grouping()) {
         M('Db')->setCurrentConnection('storage');
         $query = M('Db')->createQuery($obReport->getTableName(), 'update');
         $lastGroup = NULL;
         foreach ($obReport->grouping() as $id => $group) {
             if ($lastGroup != $group) {
                 $obDetail = $obReport->detail();
                 $query->set()->reset();
                 do {
                     $obGroup = M('ReportGroup')->loadById($group);
                     $query->set($obDetail->getFieldNameWithId(), $obGroup->reportId())->set($obDetail->getFieldNameWithName(), $obGroup->name());
                 } while (!isNull($obDetail = $obDetail->getUpperLevel()));
                 $lastGroup = $group;
             }
             $query->where()->reset()->where($obReport->detail()->getFieldNameWithId() . ' = ?', $id)->execute();
         }
         M('Db')->setCurrentConnection('default');
     }
 }