我试图找出如何测试组件的功能是否返回组件或布尔值为假。
例如,组件的查找方法如
<cfset hotel = oHotel.findById(1200) />
<cfif hotel >
...
</cfif>
如果找到酒店,则返回组件,否则返回false。
编写此类代码通常是否可以,或者我应该以另一种方式写入cfif
吗?
答案 0 :(得分:4)
使用IsValid()
功能如下
<cfset hotel = oHotel.findById(1200) />
<cfif IsValid("component",hotel)> //Hotel found
<!--- Code to perform if it is Component --->
<cfelse>
<!--- Code to perform if it is not a Component --->
</cfif>
答案 1 :(得分:2)
试试这个:
<cfif isBoolean( hotel )>
....
</cfif>
但是,如果没有匹配ID的酒店,我建议您findById()
返回NULL
。然后你会用
<cfif !isNull( hotel )>
....
</cfif>
答案 2 :(得分:1)
或者,IsSimpleValue()
可用于确定变量是否是......一个简单的值。也就是说,不数组,结构,查询或组件。
<强>返回强>
如果value是字符串,数字,布尔值或日期/时间值,则为True;错,否则。
<cfset hotel = oHotel.findById(1200) />
<cfif IsSimpleValue(hotel)>
<!--- it is a simple value, i.e., NOT a component --->
</cfif>