214 empty lists fixes
This commit is contained in:
@@ -18,7 +18,8 @@
|
||||
|
||||
<cfargument name="value" type="any" required="true" />
|
||||
|
||||
<cfif isEmpty(ARGUMENTS.value)><!---*** некорректно, но просто, пустые строки превращает в нулл--->
|
||||
<cfif isSimpleValue(ARGUMENTS.value) AND isEmpty(ARGUMENTS.value)><!---*** некорректно, но просто, пустые строки превращает в нулл--->
|
||||
<!--- нам не нужно, чтобы пустые массивы превращались в нулл. Наверное, и структуры тоже --->
|
||||
<cfreturn javacast('null','')/>
|
||||
<cfelse>
|
||||
<cfreturn ARGUMENTS.value />
|
||||
@@ -71,12 +72,13 @@
|
||||
|
||||
<cfif queryColumnExists(ARGUMENTS.query, local.col)>
|
||||
|
||||
<cfif type EQ "list">
|
||||
<!--- *** workaround for empty lists - keep them empty instead of null - should designate field type as list --->
|
||||
<cfset obj[ARGUMENTS.fieldNameDecorator(local.col)]=formatter(ARGUMENTS.query[local.col][ARGUMENTS.query.currentRow])/>
|
||||
<cfelse>
|
||||
<!--- <cfif type EQ "list"> --->
|
||||
<!--- *** workaround for empty lists - keep them empty strings or arrays instead of null - should designate field type as list --->
|
||||
<!--- *** правда, для CFS параметров это не работает - тип поля может меняться в зависимости от условий --->
|
||||
<!--- <cfset obj[ARGUMENTS.fieldNameDecorator(local.col)]=formatter(ARGUMENTS.query[local.col][ARGUMENTS.query.currentRow])/>
|
||||
<cfelse> --->
|
||||
<cfset obj[ARGUMENTS.fieldNameDecorator(local.col)]=empty2null(formatter(ARGUMENTS.query[local.col][ARGUMENTS.query.currentRow]))/>
|
||||
</cfif>
|
||||
<!--- </cfif> --->
|
||||
<!--- *** преобразование пустой строки в null преобразует в нулл также пустые списки, что искажает факт --->
|
||||
</cfif>
|
||||
<!---*** не уверен в надежности конструкции во всех реализациях CF, контекст query передастся ли--->
|
||||
|
||||
Reference in New Issue
Block a user