Example #1
0
 /**
  * @param Connection $db
  * @param \OLAP\Fact $object
  * @param Cube $sender
  */
 public function __construct(Connection $db, \OLAP\Fact $object, Cube $sender = null)
 {
     parent::__construct($db, $object, $sender);
     $this->dimensions = [];
     foreach ($this->object()->getDimensions() as $dimension) {
         $class = $this->dimensionClass();
         $this->dimensions[$dimension->getName()] = new $class($this->db(), $dimension, $this);
     }
     if ($parent = $this->getParent()) {
         Event\Ruler::getInstance()->addListener(new Event\Listener(Event\Type::EVENT_SET_DATA, [$this, 'onParentSetData'], $parent->getTableName()));
         Event\Ruler::getInstance()->addListener(new Event\Listener(Event\Type::EVENT_TRUNCATE_FACT, [$this, 'onTruncate'], $parent->getTableName()));
     }
 }
Example #2
0
 /**
  * @param Connection $db
  * @param \OLAP\Cube $object
  * @param Base $sender
  */
 public function __construct(Connection $db, \OLAP\Cube $object, Base $sender = null)
 {
     parent::__construct($db, $object, $sender);
     $defaultDrill = null;
     $this->facts = [];
     foreach ($this->object()->getFacts() as $fact) {
         $class = Fact::class;
         if ($fact->isSpecial()) {
             $class = $this->getSpecialFact($fact);
         }
         if (!$defaultDrill && $fact->isDefaultDrill()) {
             $defaultDrill = $fact->getName();
         }
         $this->facts[$fact->getName()] = new $class($this->db(), $fact, $this);
     }
     $this->drill = $defaultDrill;
     $this->dataType = new Type($this->db(), $this->object()->getDataType());
 }
Example #3
0
 /**
  * @param Connection $db
  * @param mixed $object
  * @param Fact $sender
  */
 public function __construct(Connection $db, \OLAP\Dimension $object, Fact $sender = null)
 {
     parent::__construct($db, $object, $sender);
     $this->type = new Type($this->db(), $this->object()->getType(), $this);
 }