/** * @param Update $update * * @return string */ public function writeUpdateValues(Update $update) { $assigns = array(); foreach ($update->getValues() as $column => $value) { $newColumn = array($column); $column = $this->columnWriter->writeColumn(SyntaxFactory::createColumn($newColumn, $update->getTable())); $value = $this->writer->writePlaceholderValue($value); $assigns[] = "{$column} = {$value}"; } return implode(", ", $assigns); }
/** * @test */ public function itShouldWriteUpdateQueryWithWhereConstrainAndLimit1() { $this->query->setTable('user')->setValues($this->valueArray)->where()->equals('user_id', 1); $this->query->limit(1); $expected = 'UPDATE user SET user.user_id = :v1, user.name = :v2, user.contact = :v3 WHERE (user.user_id = :v4) LIMIT :v5'; $this->assertSame($expected, $this->writer->write($this->query)); $expected = array(':v1' => 1, ':v2' => 'Nil', ':v3' => '*****@*****.**', ':v4' => 1, ':v5' => 1); $this->assertEquals($expected, $this->writer->getValues()); }
/** * @test */ public function itShouldReturnValues() { $values = ['user_id' => 1]; $this->query->setValues($values); $this->assertSame($values, $this->query->getValues()); }