Один из способов, с помощью которых я пытался сделать нечто похожее на то, что вы делаете, это что-то вроде:
<cffunction name="doSomethingWithDatabase">
<cfargument name="potentialColumns" type="string">
<cfargument name="columnValues" type="struct">
, а затем переберите список потенциальных столбцов, используя каждый элемент списка в качестве индекса для поиска в структуре columnValues. если это значение существует в структуре, тогда вы хорошо; в противном случае вы игнорируете этот столбец в обновлении.
тогда вы вызываете функцию примерно так:
чтобы получить столбцы, которые вы ищете
альтернативно, вы можете проигнорировать аргумент потенциальные столбцы и просто получить эту информацию в вашем коде:
<cffunction name="doSomethingWithDatabase">
<cfargument name="columnValues" type="struct">
<cfset potentialColumns = getMyColumns()>
.... loop....