データベースから結果セットを取得するためのゲートウェイを作成しました。すべてのレコードをさらに操作できるように、すべての行を個別の dao に保存するにはどうすればよいですか? または、結果セットに直接アクセスしてレコードを取得できますか?
これは私のゲートウェイです (ちなみに、cfquery 内の条件付きロジックを、これを拡張する別の cfc に書き込む必要がありますか?)
<cfcomponent name="MaterialDao" hint="data access object" output="false">
<cffunction name="init" hint="constructor" access="public" output="false" returntype="MaterialDao">
<cfargument name="dsn" type="String" required="true" hint="datasource" />
<cfset variables.instance.dsn = arguments.dsn />
<cfreturn this />
</cffunction>
<cffunction name="readMaterial" hint="read" access="public" output="false" returntype="Query">
<cfargument name="district" type="String" />
<cfset var qReadMaterial = "" />
<cfquery name="qReadMaterial" datasource="#variables.instance.dsn#">
<cfif StructKeyExists(arguments,"district")>
SELECT A.NR, A.BEZ, D.BES, D.STA
<cfelse>
SELECT A.NR, A.BEZ
</cfif>
FROM DEK AS D INNER JOIN ART AS A
ON D.NR = A.NR
WHERE 0=0
<cfif StructKeyExists(arguments,"district")>
AND D.BEZ = #arguments.district#
</cfif>
ORDER BY A.BEZ
</cfquery>
<cfreturn qReadMaterial />
</cffunction>
</cfcomponent>
私はすでに多くの記事を読みましたが、この問題についてはさまざまな意見があるようです (DAO 対 Gateway、DAO & Gateway など)。ベスト プラクティスとは何ですか。プロは何をしますか?