LoginSignup
1

More than 3 years have passed since last update.

Coldfusionでのmodelの操作

Posted at

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させるなど)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1