$qb = $conn->createQueryBuilder() ->update('users', 'u') ->set('u.password', md5('password')) ->where('u.id = ?');
/** * @test */ public function setWithoutNamedParameterQuotesIdentifierAndDelegatesToConcreteQueryBuilder() { $this->connection->quoteIdentifier('aField')->shouldBeCalled()->willReturnArgument(0); $this->concreteQueryBuilder->createNamedParameter(Argument::cetera())->shouldNotBeCalled(); $this->concreteQueryBuilder->set('aField', 'aValue')->shouldBeCalled()->willReturn($this->subject); $this->subject->set('aField', 'aValue', false); }
/** * Sets the values and parameters of the upcoming given query according * to the entity. * * @param CRUDEntity $entity * the entity with its fields and values * @param QueryBuilder $queryBuilder * the upcoming query * @param boolean $setValue * whether to use QueryBuilder::setValue (true) or QueryBuilder::set (false) */ protected function setValuesAndParameters(CRUDEntity $entity, QueryBuilder $queryBuilder, $setValue) { $formFields = $this->definition->getEditableFieldNames(); $count = count($formFields); for ($i = 0; $i < $count; ++$i) { $value = $entity->get($formFields[$i]); $type = $this->definition->getType($formFields[$i]); if ($type == 'bool') { $value = $value ? 1 : 0; } if ($type == 'date' || $type == 'datetime' || $type == 'reference') { $value = $value == '' ? null : $value; } if ($setValue) { $queryBuilder->setValue('`' . $formFields[$i] . '`', '?'); } else { $queryBuilder->set('`' . $formFields[$i] . '`', '?'); } $queryBuilder->setParameter($i, $value); } }
/** * Sets a new value for a column in a bulk update query. * * <code> * $qb = $conn->getQueryBuilder() * ->update('users', 'u') * ->set('u.password', md5('password')) * ->where('u.id = ?'); * </code> * * @param string $key The column to set. * @param string $value The value, expression, placeholder, etc. * * @return \OCP\DB\QueryBuilder\IQueryBuilder This QueryBuilder instance. */ public function set($key, $value) { $this->queryBuilder->set($this->helper->quoteColumnName($key), $this->helper->quoteColumnName($value)); return $this; }
/** * Sets a new value for a column in a bulk update query. * * @param string $key The column to set. * @param string $value The value, expression, placeholder, etc. * @param bool $createNamedParameter Automatically create a named parameter for the value * * @return QueryBuilder This QueryBuilder instance. */ public function set(string $key, $value, bool $createNamedParameter = true) : QueryBuilder { $this->concreteQueryBuilder->set($this->quoteIdentifier($key), $createNamedParameter ? $this->createNamedParameter($value) : $value); return $this; }
/** * Sets a new value for a column in a bulk update query. * * @param string $key The column to set. * @param string $value The value, expression, placeholder, etc. * * @return self */ public function set($key, $value) { $this->qb->set($key, $value); return $this; }