Coldfusionでのmodelからのデータの取り出し型の紹介です。
基本
基本はcfqueryタグの中にSQLを書きます。
下記はt_userテーブルのuser_nameを表示するコードです。
<cfquery name="qUserData" datasource="sample_db">
SELECT user_name
FROM t_user
WHERE status_flg = 1
</cfquery>
<cfoutput>
<cfloop query="qUserData">
#qUserData.user_name#
</cfloop>
</cfoutput>
上記のコードでは、t_userテーブルのuser_nameを取得して、その結果をqUserDataとして扱っています。
その後cfloopを用いてqUserData内のレコードの数だけuser_nameの情報を表示させています。
その他
Coldfusionではsql内にif文なども書くことができます。
似たようなコードを書くときに使えたりするので結構便利です。
<cfset user_id ="1">
<cfquery name="qUserData" datasource="sample_db">
SELECT user_name
FROM t_user
WHERE status_flg = 1
<cfif user_id is not "">
AND user_id= <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#user_id#">
</cfif>
</cfquery>
<cfoutput>
<cfif qUserData.recordCount gt 0>
<cfloop query="qUserData">
#qUserData.user_name#
</cfloop>
</cfif>
</cfoutput>
上記のコードでは、、t_userテーブルのuser_nameを取得して、その結果を表示するという、基本の時と同じ動きをするコードですが、sql文の中でif文を使うことで変数に値がある場合は条件を追加などが可能になります。(変数に値があったらjoinさせるなど)