-
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.