/**
  * @return array
  * @see DbObject::toArray
  */
 public function toArray()
 {
     // do regular parse
     $arr = parent::toArray();
     // get all dynamic properties
     $dynamicProps = $this->getDynamicprops();
     // if no dynamic properties are set then
     // just return the parent result
     if (!is_array($dynamicProps)) {
         return $arr;
     }
     // merge and return full data
     return array_merge($arr, $dynamicProps);
 }
Exemplo n.º 2
0
 /**
  * @covers MarketMeSuite\Phranken\Database\Object\DbObject::multiToArray
  */
 public function testMultiToArray()
 {
     // mock objects
     $mockMap = array('_id' => 'id', 'key1' => 'key1', 'key2' => 'key2');
     /** @var DbObject $obj1 */
     $obj1 = $this->getMockForAbstractClass('MarketMeSuite\\Phranken\\Database\\Object\\DbObject');
     $obj1->map = $mockMap;
     /** @var DbObject $obj2 */
     $obj2 = $this->getMockForAbstractClass('MarketMeSuite\\Phranken\\Database\\Object\\DbObject');
     $obj2->map = $mockMap;
     $obj1->id = $obj2->id = 'test_id';
     $obj1->key1 = $obj2->key1 = 'val1';
     $obj1->key2 = $obj2->key2 = 'val2';
     $actual = DbObject::multiToArray(array($obj1, $obj2));
     $this->assertEquals(array(array('_id' => 'test_id', 'key1' => 'val1', 'key2' => 'val2'), array('_id' => 'test_id', 'key1' => 'val1', 'key2' => 'val2')), $actual);
     $actual = DbObject::multiToArray(array($obj1, $obj2), array('_id', 'key1'));
     $this->assertEquals(array(array('_id' => 'test_id', 'key1' => 'val1'), array('_id' => 'test_id', 'key1' => 'val1')), $actual, 'only allowed fields should be returned');
 }