У меня есть объект фильтра для запроса таблицы со многими столбцами, а не для записи условия, охватывающего все столбцы (с возможностью дополнительной фильтрации), например:
WHERE ((:value0 IS NULL) OR (column_name0 = :value0)) AND ((:value1 IS NULL) OR (column_name1 = :value1)) AND... etc
для каждого столбца. Вместо этого в идеале я хотел бы иметь возможность передавать имя поля в качестве параметра:
WHERE :column_name0 = :value0 AND column_name1 = :value1 AND... etc
, что невозможно, поскольку столбцы требуются во время разбора (аналогично этому ответу , приведенному здесь ).
Как вы справляетесь с этим? - Я действительно не хочу поддерживать SQL при добавлении или удалении новых столбцов (как это было бы в моем первом примере), и я думаю, что это для меня было бы опасно напрямую создавать имена столбцов в командной строке, так как это могло бы позволить внедрение SQL.
Обратите внимание, что этот код находится за веб-службой.