Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>In your method, simply use the parameters in your dynamic SQL that does the search. That way the where clause is built just prior to the SQL getting run. You will simply pass the search parameters into your method as arguments.</p> <p>Something like this...</p> <pre><code>&lt;cffunction name="getByAttributesQuery" access="public" output="false" returntype="query"&gt; &lt;cfargument name="id" type="numeric" required="false" /&gt; &lt;cfargument name="userName" type="string" required="false" /&gt; &lt;cfargument name="firstName" type="string" required="false" /&gt; &lt;cfargument name="lastName" type="string" required="false" /&gt; &lt;cfargument name="createdAt" type="date" required="false" /&gt; &lt;cfargument name="updatedAt" type="date" required="false" /&gt; &lt;cfargument name="orderby" type="string" required="false" /&gt; &lt;cfset var qList = "" /&gt; &lt;cfquery name="qList" datasource="#variables.dsn#"&gt; SELECT id, userName, firstName, lastName, createdAt, updatedAt FROM users WHERE 0=0 &lt;cfif structKeyExists(arguments,"id") and len(arguments.id)&gt; AND id = &lt;cfqueryparam value="#arguments.id#" CFSQLType="cf_sql_integer" /&gt; &lt;/cfif&gt; &lt;cfif structKeyExists(arguments,"userName") and len(arguments.userName)&gt; AND userName = &lt;cfqueryparam value="#arguments.userName#" CFSQLType="cf_sql_varchar" /&gt; &lt;/cfif&gt; &lt;cfif structKeyExists(arguments,"firstName") and len(arguments.firstName)&gt; AND firstName = &lt;cfqueryparam value="#arguments.firstName#" CFSQLType="cf_sql_varchar" /&gt; &lt;/cfif&gt; &lt;cfif structKeyExists(arguments,"lastName") and len(arguments.lastName)&gt; AND lastName = &lt;cfqueryparam value="#arguments.lastName#" CFSQLType="cf_sql_varchar" /&gt; &lt;/cfif&gt; &lt;cfif structKeyExists(arguments,"createdAt") and len(arguments.createdAt)&gt; AND createdAt = &lt;cfqueryparam value="#arguments.createdAt#" CFSQLType="cf_sql_timestamp" /&gt; &lt;/cfif&gt; &lt;cfif structKeyExists(arguments,"updatedAt") and len(arguments.updatedAt)&gt; AND updatedAt = &lt;cfqueryparam value="#arguments.updatedAt#" CFSQLType="cf_sql_timestamp" /&gt; &lt;/cfif&gt; &lt;cfif structKeyExists(arguments, "orderby") and len(arguments.orderBy)&gt; ORDER BY #arguments.orderby# &lt;/cfif&gt; &lt;/cfquery&gt; &lt;cfreturn qList /&gt; &lt;/cffunction&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload