Compiles an array of set values into an SQL partial. Used for UPDATE.
string Driver_Database_Driver_Postgre::_compile_set( object $values , array $parameters )
参数列表
参数 类型 描述 默认值 $values
object
Database instance $parameters
array
Updated values
string
protected function _compile_set(array $values, $parameters)
{
$set = array();
foreach ($values as $group)
{
// Split the set
list ($column, $value , $op) = $group;
if ($op=='+' || $op=='-')
{
$w_type = $op;
}
else
{
$w_type = '';
}
// Quote the column name
$column = $this->_quote_identifier($column);
if (is_string($value) && array_key_exists($value, $parameters))
{
// Use the parameter value
$value = $parameters[$value];
}
if ($w_type)
{
$set[$column] = $column . ' = ' . $column . ' ' . $w_type . ' ' . $this->quote($value);
}
else
{
$set[$column] = $column . ' = ' . $this->quote($value);
}
}
return implode(', ', $set);
}