/** * This function will return a object filled with the data contained in the array given as parameter * */ public function fillObject($data) { $objecttype = inflector::getObjectfromcontext($this); $object = new $objecttype(); foreach ($data as $field => $value) { $objectfield = $this->getObjectfieldfor($field); $func = 'set' . ucfirst($objectfield); $object->{$func}($value); } return $object; }
protected function parseField(lexer $lexer) { $lexer->moveNext(); $object = ''; if ($lexer->isNextToken('.')) { $modelclass = inflector::getModelfromcontext($lexer->getCurrentToken()); $model = new $modelclass(); $lexer->moveNext(); $lexer->moveNext(); } else { $model = $lexer->query->getModel(); } $field = $lexer->getCurrentToken(); if (!$lexer->isNextToken(']')) { throw new \Exception('Invalid query syntax: Expected \']\' after ' . $lexer->getCurrentToken()); } $lexer->moveNext(); $lexer->moveNext(); return array('model' => $model, 'field' => $field); }