Я использую Nette Framework и у меня есть эти команды в действии:Формат SQL-запрос по функции PHP взрываются
$id = is_array($id) ? implode(', ', $id) : $id;
$this->database->table('manufacturing')->where('id', $id)->update(array('trash' => '1'));
Когда я выбираю 4 строки в моей сетке и называем это действие для удаления элементов, он будет генерировать этот SQL-код:
UPDATE `manufacturing`
SET `trash`='1'
WHERE (`id` = '31, 32, 33, 34')
Но мне нужен код, как это, чтобы обновить все строки:
UPDATE `manufacturing`
SET `trash` = '1'
WHERE ((`id` = '31') OR (`id` = '32') OR (`id` = '33') OR (`id` = '34'));
Есть возможность сделать ш с функцией развязывания? Спасибо.
редактировать: , когда я сделал это:
$id = is_array($id) ? implode(' "OR" ', $id) : $id;
он будет делать это:
UPDATE `manufacturing`
SET `trash`='1'
WHERE (`id` = '31 \"OR\" 32 \"OR\" 33 \"OR\" 34')
Я не знаком ж/Nette, но я думаю, что вы хотите посмотреть на вариант или альтернативы '-> где()', что позволяет сделать 'пункт в' вместо of '=' – mopo922