faqGateway

Package: machii_info_sample.model.faq
I am a data gateway to faqs
Method Summary
public faqGateway init(string dsn)

I initialize the faq gateway.

public query findAll()

I return a query containing all faqs

public query findFaqs([numeric categoryID="0"])

I return a query containing all faqs for a given criteria

public query findLatest()

I return a query of the latest FAQs

public query findUnpublished()

I return a query of the unpublished faqs

Method Detail
findAll

public query findAll( )

I return a query containing all faqs

Parameters:

Code:

	<cffunction name="findAll" access="public" returntype="query" output="false" displayname="Find All" hint="I return a query containing all faqs">
		<cfset var faqSelect = 0 />
		<cfquery name="faqSelect" datasource="#variables.dsn#">
			SELECT f.*
			FROM	faqs f
			ORDER BY faqid
		</cfquery>
		<cfreturn faqSelect />
	</cffunction> 

findFaqs

public query findFaqs( [numeric categoryID="0"] )

I return a query containing all faqs for a given criteria

Parameters:
[numeric categoryID="0"]

Code:

	<cffunction name="findFaqs" access="public" returntype="query" output="false" displayname="Find Faqs" hint="I return a query containing all faqs for a given criteria">
		<cfargument name="categoryID" type="numeric" required="false" default="0" />
		<cfset var faqSelect = 0 />
		<cfquery name="faqSelect" datasource="#variables.dsn#">
			SELECT f.*, 
					(SELECT count(*) FROM comments WHERE faqID = f.faqID) as numComments
			FROM	faqs f
			WHERE datePublished is not null
			<cfif arguments.categoryID >
				AND categoryID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.categoryID#" >
			</cfif>
			ORDER BY faqid
		</cfquery>
		<cfreturn faqSelect />
	</cffunction> 

findLatest

public query findLatest( )

I return a query of the latest FAQs

Parameters:

Code:

	<cffunction name="findLatest" access="public" returntype="query" output="false" displayname="Find Latest" hint="I return a query of the latest FAQs">		
		<cfset var faqSelect = 0 />
		<cfquery name="faqSelect" datasource="#variables.dsn#" maxrows="10">
			SELECT 	f.*, 
					(SELECT count(*) FROM comments WHERE faqID = f.faqID) as numComments
			FROM	faqs f			
			WHERE datePublished is not null			
			ORDER BY datePublished DESC, faqID
		</cfquery>
		<cfreturn faqSelect />
	</cffunction> 

findUnpublished

public query findUnpublished( )

I return a query of the unpublished faqs

Parameters:

Code:

	<cffunction name="findUnpublished" access="public" returntype="query" output="false" displayname="Find Unpublished" hint="I return a query of the unpublished faqs">		
		<cfset var faqSelect = 0 />
		<cfquery  name="faqSelect" datasource="#variables.dsn#" >
			SELECT 	f.*, 
					(SELECT count(*) FROM comments WHERE faqID = f.faqID) as numComments
			FROM	faqs f			
			WHERE datePublished is null			
			ORDER BY dateCreated 
		</cfquery>
		<cfreturn faqSelect />
	</cffunction> 

init

public faqGateway init( string dsn )

I initialize the faq gateway.

Parameters:
string dsn

Code:

	<cffunction name="init" access="public" returntype="machii_info_sample.model.faq.faqGateway" output="false" displayname="Faq Gateway Constructor" hint="I initialize the faq gateway.">
		<cfargument name="dsn" type="string" required="yes" displayname="Data Source Name" hint="I am the data source." />	
		<cfset variables.dsn = arguments.dsn />
		<cfreturn this />
	</cffunction>