public function import($scope) { if (!$this->className) { throw new WrongStateException("no class defined for PrimitiveIdentifierList '{$this->name}'"); } if (!BasePrimitive::import($scope)) { return null; } if (!is_array($scope[$this->name])) { return false; } $list = array_unique($scope[$this->name]); $values = array(); foreach ($list as $id) { if (!Assert::checkScalar($id)) { return false; } $values[] = $id; } $objectList = array(); foreach ($values as $value) { $className = $this->className; $objectList[] = new $className($value); } if (count($objectList) == count($values)) { $this->value = $objectList; return true; } return false; }
public function import($scope) { if (!$this->className) { throw new WrongStateException("no class defined for PrimitiveIdentifierList '{$this->name}'"); } if (!BasePrimitive::import($scope)) { return null; } if (!is_array($scope[$this->name])) { return false; } $list = array_unique($scope[$this->name]); $values = []; foreach ($list as $id) { if ((string) $id == "" && $this->isIgnoreEmpty()) { continue; } if ($this->scalar && !Assert::checkScalar($id) || !$this->scalar && !Assert::checkInteger($id)) { if (!$this->isIgnoreWrong()) { return false; } else { continue; } //just skip it } $values[] = $id; } $objectList = $this->dao()->getListByIds($values); if ((count($objectList) == count($values) || $this->isIgnoreWrong()) && !($this->min && count($values) < $this->min) && !($this->max && count($values) > $this->max)) { $this->value = $objectList; return true; } return false; }