예제 #1
0
 /**
  * Populate data container
  *
  * @param Array|null $data Data to populate container
  * @param Array|scalar|null $param Request parameters. Used to fetch data from DB when $data is empty.
  * If scalar data provided - used as prmary key value
  * @throws Advertikon\Exception\InvalidArgument On on unsupported argument type
  */
 protected function _initData($data, $param)
 {
     if ($data) {
         if (is_array($data)) {
             $data = new ArrayObject($data);
         }
         if (is_a($data, 'Zend\\Stdlib\\ArrayObject')) {
             unset($data[$this->_resource->getPrimaryKey()]);
             $this->_data = $data;
         } else {
             throw new InvalidArgument('Unsupported argument type for Model data initiation', __METHOD__);
         }
     } elseif ($param) {
         if (is_array($param) || is_a($param, 'Zend\\Stdlib\\ArrayObject')) {
             if (is_array($param)) {
                 $param = new ArrayObject($param);
             }
             if (!$param->count()) {
                 $this->_data = new ArrayObject();
             } else {
                 $this->_load($param);
             }
         } elseif (is_scalar($param)) {
             $key = $this->_resource->getPrimaryKey();
             $arr = new ArrayObject();
             $arr[$key] = $param;
             $this->_load($arr);
         } else {
             throw new InvalidArgument('Invalid format of query parameter', __METHOD__);
         }
     } else {
         $this->_data = new ArrayObject();
     }
 }
예제 #2
0
 /**
  * Returns the entity count.
  * 
  * @return integer
  */
 public function count()
 {
     return $this->entities->count();
 }
예제 #3
0
 public function testCount()
 {
     $ar = new ArrayObject(new TestAsset\ArrayObjectObjectVars());
     $this->assertEquals(1, $ar->count());
 }