Exemple #1
0
 /**
  * Validate request
  *
  * @param RequestInterface $request
  */
 protected function validateRequest(RequestInterface $request)
 {
     if ($request->getRepository() === $this) {
         return;
     }
     throw new InvalidArgumentException(sprintf(static::EXCEPTION_INVALID_REQUEST, $this->getName(), $request->getRepository()->getName()));
 }
Exemple #2
0
 /**
  * Request name string (with alias)
  *
  * @param RequestInterface $request
  * @return string
  */
 protected function requestNameToString(RequestInterface $request) : string
 {
     return $this->nameToString($request->getRepository()->getName(), $request->getAlias());
 }
Exemple #3
0
 /**
  * {@inheritDoc}
  * @see \Fixin\Model\Storage\Grammar\GrammarInterface::insertInto($repository, $request)
  */
 public function insertInto(RepositoryInterface $repository, RequestInterface $request) : QueryInterface
 {
     $query = $this->container->clonePrototype(static::PROTOTYPE_QUERY)->appendWord(static::STATEMENT_INSERT)->appendClause(static::CLAUSE_INTO, $this->quoteIdentifier($repository->getName()));
     // Columns
     if ($columns = $request->getColumns()) {
         $list = [];
         foreach ($columns as $alias => $identifier) {
             $list[] = $this->identifierToString(is_numeric($alias) ? $identifier : $alias, $query);
         }
         $query->appendString(sprintf(static::MASK_COLUMN_NAMES, implode(static::LIST_SEPARATOR, $list)));
     }
     // Select
     $query->appendString($this->requestToString($request, $query));
     return $query;
 }