Exemplo n.º 1
0
 /**
  * Updates all rows in result set.
  * Joins in UPDATE are supported only in MySQL
  * @param  array|\Traversable ($column => $value)
  * @return int number of affected rows
  */
 public function update($data)
 {
     if ($data instanceof \Traversable) {
         $data = iterator_to_array($data);
     } elseif (!is_array($data)) {
         throw new InvalidArgumentException();
     }
     if (!$data) {
         return 0;
     }
     $builder = clone $this->getSqlBuilder('UPDATE');
     $builder->set(null);
     $builder->set($data);
     return $this->connection->queryArgs($builder->getQuery(), $builder->getParameters())->getRowCount();
 }