/** * 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(); } }
/** * Returns the entity count. * * @return integer */ public function count() { return $this->entities->count(); }
public function testCount() { $ar = new ArrayObject(new TestAsset\ArrayObjectObjectVars()); $this->assertEquals(1, $ar->count()); }