/**
  * @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());
 }
Example #3
0
 /**
  * @test
  */
 public function itShouldReturnValues()
 {
     $values = ['user_id' => 1];
     $this->query->setValues($values);
     $this->assertSame($values, $this->query->getValues());
 }