-
Notifications
You must be signed in to change notification settings - Fork 11
set
Oleg Grigoriev edited this page Mar 27, 2016
·
1 revision
Этот формат используется:
- В плейсхолдерах
?sи?set - В некоторых методах класса Table.
Ассоциативный массив. Ключ - имя столбца, значение - присваиваемое значение.
Ниже описаны форматы значений.
Строки, числа и NULL обрабатываются, как обычно.
$set = [
'one' => 'string',
'two' => 2,
'three' => null,
];
$pattern = 'UPDATE `table` SET ?set WHERE `id`=?i';
$data = [$set, 5];UPDATE `table` SET `one`="string", `two`=2, `three`=NULL WHERE `id`=5Или, аналогично, через Table:
$table = $db->getTable('table');
$set = [
'one' => 'string',
'two' => 2,
'three' => null,
];
$table->update($set, ['id' => 5]);Если, в качестве значения - массив, он обрабатывается в соответствии с форматом COL.
$set = [
'a' => [
'func' => 'UNIX_TIMESTAMP',
'col' => 'tm',
'value' => 2,
],
];
$table->update($set, ['id' => 5]);UPDATE `table` SET `a`=UNIX_TIMESTAMP(`tm`)+2 WHERE `id`=5Пустой массив приводится к NULL.