属性 在 Coldfusion ORM 持久实体中无法识别
Property not recognized in Coldfusion ORM Persistent entity
我有一个持久的 ORM 实体:
<cfcomponent persistent="true" table="MENU_recipeTypes" entityname="recipeTypes" >
<cfproperty name="id" fieldtype="id" column="recipeType_id" generator="native" setter="false">
<cfproperty name="name" column="recipeType_name" type="string">
<cfproperty name="recipeType_help" column="recipeType_help" type="string">
<cfproperty name="hasPrice" column="hasPrice" type="binary">
<cfproperty name="recipeTypeOrder" type="numeric">
<cfproperty name="exclusiveType" type="binary">
<cfproperty name="recipe" fieldtype="one-to-many" cfc="recipes" fkcolumn="recipeType_id" type="array">
<cfproperty name="recipeTypeDisplay" fieldtype="one-to-many" cfc="recipeTypeDisplay" fkcolumn="recipeType_id" type="array">
</cfcomponent>
在我的本地机器上 运行 Windows 10 和 SQL Express 2017 with CF2018 一切运行顺利。但是,在服务器 运行 Windows Server 2019 Datacenter with SQL Express 2019 和 CF2021 上,由于某种原因无法找到 属性 'hasPrice'。
我完全不知道为什么会这样。
正在测试:
<cfset thisRecipeType = entityLoadByPK("recipeTypes", 5)>
<cfdump var="#thisRecipeType#">
结果:
数据库中的数据:
所以实体 5 的 hasPrice 列显然有一个值。
附录:MSSQL2017 似乎接受类型 'bit' 或 'binary' 作为布尔值的有效类型,但 MSSQL2019 两者都不接受并且只接受布尔值。这不会导致错误,而是 returns 'undefined value'.
问题是 hasPrice 属性 有 type="binary"
。在 ColdFusion 中,true/false 属性应该有 type="boolean"
我有一个持久的 ORM 实体:
<cfcomponent persistent="true" table="MENU_recipeTypes" entityname="recipeTypes" >
<cfproperty name="id" fieldtype="id" column="recipeType_id" generator="native" setter="false">
<cfproperty name="name" column="recipeType_name" type="string">
<cfproperty name="recipeType_help" column="recipeType_help" type="string">
<cfproperty name="hasPrice" column="hasPrice" type="binary">
<cfproperty name="recipeTypeOrder" type="numeric">
<cfproperty name="exclusiveType" type="binary">
<cfproperty name="recipe" fieldtype="one-to-many" cfc="recipes" fkcolumn="recipeType_id" type="array">
<cfproperty name="recipeTypeDisplay" fieldtype="one-to-many" cfc="recipeTypeDisplay" fkcolumn="recipeType_id" type="array">
</cfcomponent>
在我的本地机器上 运行 Windows 10 和 SQL Express 2017 with CF2018 一切运行顺利。但是,在服务器 运行 Windows Server 2019 Datacenter with SQL Express 2019 和 CF2021 上,由于某种原因无法找到 属性 'hasPrice'。
我完全不知道为什么会这样。
正在测试:
<cfset thisRecipeType = entityLoadByPK("recipeTypes", 5)>
<cfdump var="#thisRecipeType#">
结果:
数据库中的数据:
所以实体 5 的 hasPrice 列显然有一个值。
附录:MSSQL2017 似乎接受类型 'bit' 或 'binary' 作为布尔值的有效类型,但 MSSQL2019 两者都不接受并且只接受布尔值。这不会导致错误,而是 returns 'undefined value'.
问题是 hasPrice 属性 有 type="binary"
。在 ColdFusion 中,true/false 属性应该有 type="boolean"