<?xml version="1.0"?>
<functions wheelsversion="1.0.x">
	
		<function name="addError">
			<returntype>void</returntype>
			<description>Adds an error on a specific property.</description>
			<examples><![CDATA[<!--- Add an error to the `email` property --->
<cfset addError(property="email", message="Sorry, you are not allowed to use that email, try again please.")>]]></examples>
			<arguments>
				
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property you want to add an error for.</description>
						</argument>
					
						<argument name="message">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The error message (such as &quot;Please enter a correct name in the form field&quot; for example).</description>
						</argument>
					
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>A name to identify the error by (useful when you need to distinguish one error from another one set on the same object and you don&apos;t want to use the error message itself for that).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="addErrorToBase">
			<returntype>void</returntype>
			<description>Adds an error on the object as a whole (not related to any specific property).</description>
			<examples><![CDATA[<!--- Add an error on the object --->
<cfset addErrorToBase(message="Your email address needs to be the same as your domain name.")>]]></examples>
			<arguments>
				
						<argument name="message">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The error message (such as &quot;Please enter a correct name in the form field&quot; for example).</description>
						</argument>
					
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>A name to identify the error by (useful when you need to distinguish one error from another one set on the same object and you don&apos;t want to use the error message itself for that).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="addRoute">
			<returntype>void</returntype>
			<description>Adds a new route to your application.</description>
			<examples><![CDATA[<!--- Adds a route which will invoke the `profile` action on the `user` controller with `params.userName` set when the URL matches the `pattern` argument --->
<cfset addRoute(name="userProfile", pattern="user/[username]", controller="user", action="profile")>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name for the route.</description>
						</argument>
					
						<argument name="pattern">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The URL pattern for the route.</description>
						</argument>
					
						<argument name="controller">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Controller to call when route matches (unless the controller name exists in the pattern).</description>
						</argument>
					
						<argument name="action">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Action to call when route matches (unless the action name exists in the pattern).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="afterCreate">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called after a new object is created.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset afterCreate("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="afterDelete">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called after an object is deleted.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset afterDelete("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="afterFind">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called after an existing object has been initialized (usually done with the @findByKey or @findOne method).</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `setTime` method after getting objects or records with one of the finder methods --->
<cffunction name="init">
	<cfset afterFind("setTime")>
</cffunction>

<cffunction name="setTime">
	<cfif StructIsEmpty(arguments)>
<cfset this.fetchedAt = Now()>
	<cfelse>
<cfset arguments.fetchedAt = Now()>
<cfreturn arguments>
	</cfif>
</cffunction>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="afterInitialization">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called after an object has been initialized.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset afterInitialization("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="afterNew">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called after a new object has been initialized (usually done with the @new method).</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset afterNew("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="afterSave">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called after an object is saved.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset afterSave("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="afterUpdate">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called after an existing object is updated.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset afterUpdate("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="afterValidation">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called after an object is validated.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset afterValidation("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="afterValidationOnCreate">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called after a new object is validated.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset afterValidationOnCreate("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="afterValidationOnUpdate">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called after an existing object is validated.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset afterValidationOnUpdate("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="allChanges">
			<returntype>struct</returntype>
			<description>Returns a struct detailing all changes that have been made on the object but not yet saved to the database.</description>
			<examples><![CDATA[<!--- Get an object, change it and then ask for its changes (will return a struct containing the changes, both property names and their values) --->
<cfset member = model("member").findByKey(params.memberId)>
<cfset member.firstName = params.newFirstName>
<cfset member.email = params.newEmail>
<cfset allChangesAsStruct = member.allChanges()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="allErrors">
			<returntype>array</returntype>
			<description>Returns an array of all the errors on the object.</description>
			<examples><![CDATA[<!--- Get all the errors for the `user` object --->
<cfset errorInfo = user.allErrors()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="autoLink">
			<returntype>string</returntype>
			<description>Turns all URLs and e-mail addresses into clickable links.</description>
			<examples><![CDATA[#autoLink("Download Wheels from http://cfwheels.org/download")#
-> Download Wheels from <a href="http://cfwheels.org/download">http://cfwheels.org/download</a>

#autoLink("Email us at info@cfwheels.org")#
-> Email us at <a href="mailto:info@cfwheels.org">info@cfwheels.org</a>]]></examples>
			<arguments>
				
						<argument name="text">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The text to create links in.</description>
						</argument>
					
						<argument name="link">
							<type>string</type>
							<required>0</required>
							<defaultvalue>all</defaultvalue>
							<description>Whether to link URLs, email addresses or both. Possible values are: `all` (default), `URLs` and `emailAddresses`.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="average">
			<returntype>numeric</returntype>
			<description>Calculates the average value for a given property. Uses the SQL function `AVG`.</description>
			<examples><![CDATA[<!--- Get the average salary for all employees --->
<cfset avgSalary = model("employee").average("salary")>]]></examples>
			<arguments>
				
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name of the property to calculate the average for.</description>
						</argument>
					
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>An SQL fragment such as `lastName LIKE &apos;A%&apos;` for example.</description>
						</argument>
					
						<argument name="include">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Any associations that need to be included in the query.</description>
						</argument>
					
						<argument name="distinct">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>When `true`, `AVG` will be performed only on each unique instance of a value, regardless of how many times the value occurs.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="beforeCreate">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called before a new object is created.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset beforeCreate("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="beforeDelete">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called before an object is deleted.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset beforeDelete("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="beforeSave">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called before an object is saved.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset beforeSave("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="beforeUpdate">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called before an existing object is updated.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset beforeUpdate("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="beforeValidation">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called before an object is validated.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset beforeValidation("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="beforeValidationOnCreate">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called before a new object is validated.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset beforeValidationOnCreate("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="beforeValidationOnUpdate">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called before an existing object is validated.</description>
			<examples><![CDATA[<!--- Instruct Wheels to call the `fixObj` method --->
<cfset beforeValidationOnUpdate("fixObj")>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names that should be called when this callback event occurs in an object&apos;s life cycle (can also be called with the `method` argument).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="belongsTo">
			<returntype>void</returntype>
			<description>Sets up a `belongsTo` association between this model and the specified one.</description>
			<examples><![CDATA[<!--- Specify that instances of this model belongs to an author (the table for this model should have a foreign key set on it, typically named `authorid`) --->
<cfset belongsTo("author")>

<!--- Same as above but since we give the association a different name we have to set `class` and `foreignKey` since Wheels won't be able to figure it out based on the association name anymore --->
<cfset belongsTo(name="bookWriter", class="author", foreignKey="authorId")>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Gives the association a name that you refer to when working with the association (in the `include` argument to @findAll to name one example).</description>
						</argument>
					
						<argument name="class">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of associated class (usually not needed if you follow the Wheels conventions since the model name will be deduced from the `name` argument).</description>
						</argument>
					
						<argument name="foreignKey">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Foreign key property name (usually not needed if you follow the Wheels conventions since the foreign key name will be deduced from the `name` argument).</description>
						</argument>
					
						<argument name="joinType">
							<type>string</type>
							<required>0</required>
							<defaultvalue>inner</defaultvalue>
							<description>Use to set the join type when joining associated tables, possible values are `inner` (for `INNER JOIN`) and `outer` (for `LEFT OUTER JOIN`).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="buttonTo">
			<returntype>string</returntype>
			<description>Creates a form containing a single button that submits to the URL. The URL is built the same way as the @linkTo function.</description>
			<examples><![CDATA[#buttonTo(text="Delete Account", action="perFormDelete", disabled="Wait...")#]]></examples>
			<arguments>
				
						<argument name="text">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The text content of the button.</description>
						</argument>
					
						<argument name="confirm">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Pass a message here to cause a JavaScript confirmation dialog box to pop up containing the message.</description>
						</argument>
					
						<argument name="image">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>If you want to use an image for the button pass in the link to it here (relative from the `images` folder).</description>
						</argument>
					
						<argument name="disable">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Pass in `true` if you want the button to be disabled when clicked (can help prevent multiple clicks), or pass in a string if you want the button disabled and the text on the button updated (to &quot;please wait...&quot;, for example).</description>
						</argument>
					
						<argument name="route">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of a route that you have configured in `config/routes.cfm`.</description>
						</argument>
					
						<argument name="controller">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of the controller to include in the URL.</description>
						</argument>
					
						<argument name="action">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of the action to include in the URL.</description>
						</argument>
					
						<argument name="key">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Key(s) to include in the URL.</description>
						</argument>
					
						<argument name="params">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Any additional params to be set in the query string.</description>
						</argument>
					
						<argument name="anchor">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Sets an anchor name to be appended to the path.</description>
						</argument>
					
						<argument name="onlyPath">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>If `true`, returns only the relative URL (no protocol, host name or port).</description>
						</argument>
					
						<argument name="host">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set this to override the current host.</description>
						</argument>
					
						<argument name="protocol">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set this to override the current protocol.</description>
						</argument>
					
						<argument name="port">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>0</defaultvalue>
							<description>Set this to override the current port number.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="caches">
			<returntype>void</returntype>
			<description>Tells Wheels to cache one or more actions.</description>
			<examples><![CDATA[<cfset caches(actions="browseByUser,browseByTitle", time=30)>]]></examples>
			<arguments>
				
						<argument name="actions">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Action(s) to cache (can also be called with the `action` argument).</description>
						</argument>
					
						<argument name="time">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>60</defaultvalue>
							<description>Minutes to cache the action(s) for.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="capitalize">
			<returntype>string</returntype>
			<description>Returns the text with the first character converted to uppercase.</description>
			<examples><![CDATA[<!--- Capitalize a sentence, will result in "Wheels is a framework" --->
#capitalize("wheels is a framework")#]]></examples>
			<arguments>
				
						<argument name="text">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Text to capitalize.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="changedFrom">
			<returntype>string</returntype>
			<description>Returns the previous value of a property that has changed. Returns an empty string if no previous value exists. Wheels will keep a note of the previous property value until the object is saved to the database.</description>
			<examples><![CDATA[<!--- Get a member object and change the `email` property on it --->
<cfset member = model("member").findByKey(params.memberId)>
<cfset member.email = params.newEmail>

<!---Get the previous value (what the `email` property was before it was changed)--->
<cfset oldValue = member.changedFrom(property="email")>

<!--- The above can also be done using a dynamic function like this --->
<cfset oldValue = member.emailChangedFrom()>]]></examples>
			<arguments>
				
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name of property to get the previous value for.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="changedProperties">
			<returntype>string</returntype>
			<description>Returns a list of the object properties that have been changed but not yet saved to the database.</description>
			<examples><![CDATA[<!--- Get an object, change it and then ask for its changes (will return a list of the property names that have changed, not the values themselves) --->
<cfset member = model("member").findByKey(params.memberId)>
<cfset member.firstName = params.newFirstName>
<cfset member.email = params.newEmail>
<cfset changes = member.changedProperties()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="checkBox">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a check box form control based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#checkBox(objectName="photo", property="isPublic", label="Display this photo publicly.")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to build the form control for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to use in the form control.</description>
						</argument>
					
						<argument name="checkedValue">
							<type>string</type>
							<required>0</required>
							<defaultvalue>1</defaultvalue>
							<description>The value of the check box when it&apos;s on the `checked` state.</description>
						</argument>
					
						<argument name="uncheckedValue">
							<type>string</type>
							<required>0</required>
							<defaultvalue>0</defaultvalue>
							<description>The value of the check box when it&apos;s on the `unchecked` state.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="errorElement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>span</defaultvalue>
							<description>HTML tag to wrap the form control with when the object contains errors.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="checkBoxTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a check box form control based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#checkBoxTag(name="suscribe", value="true", label="Suscribe to our newsletter", checked=false)#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="checked">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether or not the check box should be checked by default.</description>
						</argument>
					
						<argument name="value">
							<type>string</type>
							<required>0</required>
							<defaultvalue>1</defaultvalue>
							<description>Value of check box in its `checked` state.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="clearErrors">
			<returntype>void</returntype>
			<description>Clears out all errors set on the object or only the ones set for a specific property or name.</description>
			<examples><![CDATA[<!--- Clear all errors on `firstName` --->
<cfset clearErrors("firstName")>]]></examples>
			<arguments>
				
						<argument name="property">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Specify a property name here if you want to clear all errors set on that property.</description>
						</argument>
					
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Specify an error name here if you want to clear all errors set with that error name.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="columnNames">
			<returntype>string</returntype>
			<description>Returns a list of column names in the table mapped to this model. The list is ordered according to the columns ordinal position in the database table.</description>
			<examples><![CDATA[<!--- Get a list of all the column names in the table mapped to the author model --->
<cfset columns = model("author").columnNames()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="contentForLayout">
			<returntype>string</returntype>
			<description>Used inside a layout file to output the HTML created in the view.</description>
			<examples><![CDATA[<!--- views/layout.cfm --->
<html>
<head>
    <title>My Site</title>
</head>
<body>

<cfoutput>
#contentForLayout()#
</cfoutput>

</body>
</html>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="count">
			<returntype>numeric</returntype>
			<description>Returns the number of rows that match the arguments (or all rows if no arguments are passed in). Uses the SQL function `COUNT`.</description>
			<examples><![CDATA[<!--- Count how many authors there are in the table --->
<cfset authorCount = model("author").count()>

<!--- Count how many authors whose last name starts with "A" there are --->
<cfset authorOnACount = model("author").count(where="lastName LIKE 'A%'")>

<!--- Count how many authors that have written books starting on "A" --->
<cfset authorWithBooksOnACount = model("author").count(include="books", where="title LIKE 'A%'")>

<!--- Count the number of comments on a specific post (a `hasMany` association from `post` to `comment` is required) --->
<!--- The `commentCount` method will call `model("comment").count(where="postId=#post.id#")` internally --->
<cfset aPost = model("post").findByKey(params.postId)>
<cfset amount = aPost.commentCount()>]]></examples>
			<arguments>
				
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>An SQL fragment such as `lastName LIKE &apos;A%&apos;` for example.</description>
						</argument>
					
						<argument name="include">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Any associations that need to be included in the query.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="create">
			<returntype>any</returntype>
			<description>Creates a new object, saves it to the database (if the validation permits it) and returns it. If the validation fails, the unsaved object (with errors added to it) is still returned. Property names and values can be passed in either using named arguments or as a struct to the `properties` argument.</description>
			<examples><![CDATA[<!--- Create a new author and save it to the database --->
<cfset newAuthor = model("author").create(params.author)>

<!--- Same as above using named arguments --->
<cfset newAuthor = model("author").create(firstName="John", lastName="Doe")>	
	
<!--- Same as above using both named arguments and a struct --->
<cfset newAuthor = model("author").create(active=1, properties=params.author)>

<!--- If you have a `hasOne` or `hasMany` association setup from `customer` to `order` you can do a scoped call (the `createOrder` method below will call `model("order").create(customerId=aCustomer.id, shipping=params.shipping)` internally) --->
<cfset aCustomer = model("customer").findByKey(params.customerId)>
<cfset anOrder = aCustomer.createOrder(shipping=params.shipping)>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>struct</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The properties you want to set on the object (can also be passed in as named arguments).</description>
						</argument>
					
						<argument name="defaults">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Whether or not to set default values for properties.</description>
						</argument>
					
						<argument name="parameterize">
							<type>any</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>See documentation for @findAll.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="cycle">
			<returntype>string</returntype>
			<description>Cycles through list values every time it is called.</description>
			<examples><![CDATA[<!--- alternating table row colors --->
<table>
	<tr>
<th>Name</th>
<th>Phone</th>
	</tr>
	<cfoutput query="employees">
<tr class="#cycle("even,odd")#">
	<td>#employees.name#</td>
	<td>#employees.phone#</td>
</tr>
	</cfoutput>
</table>

<!--- alternating row colors and shrinking emphasis --->
<cfoutput query="employees" group="departmentId">
	<div class="#cycle(values="even,odd", name="row")#">
<ul>
	<cfoutput>
<cfset rank = cycle(values="president,vice-president,director,manager,specialist,intern", name="position")>
<li class="#rank#">#categories.categoryName#</li>
<cfset resetCycle("emphasis")>
	</cfoutput>
</ul>
	</div>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="values">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>List of values to cycle through.</description>
						</argument>
					
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue>default</defaultvalue>
							<description>Name to give the cycle. Useful when you use multiple cycles on a page.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="dataSource">
			<returntype>void</returntype>
			<description>Use this method to override the data source connection information for this model.</description>
			<examples><![CDATA[<!--- In models/User.cfc --->
<cffunction name="init">
	<!--- Tell Wheels to use the data source named `users_source` instead of the default one whenever this model makes SQL calls  --->
  	<cfset dataSource("users_source")>
</cffunction>]]></examples>
			<arguments>
				
						<argument name="datasource">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The data source name to connect to.</description>
						</argument>
					
						<argument name="username">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The username for the data source.</description>
						</argument>
					
						<argument name="password">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The password for the data source.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="dateSelect">
			<returntype>string</returntype>
			<description>Builds and returns a string containing three select form controls for a date based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
  <p>#dateSelect(objectName="user", property="dateOfBirth")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to build the form control for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to use in the form control.</description>
						</argument>
					
						<argument name="order">
							<type>string</type>
							<required>0</required>
							<defaultvalue>month,day,year</defaultvalue>
							<description>Use to change the order of or exclude date select tags.</description>
						</argument>
					
						<argument name="separator">
							<type>string</type>
							<required>0</required>
							<defaultvalue> </defaultvalue>
							<description>Use to change the character that is displayed between the date select tags.</description>
						</argument>
					
						<argument name="startYear">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>2004</defaultvalue>
							<description>First year in select list.</description>
						</argument>
					
						<argument name="endYear">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>2014</defaultvalue>
							<description>Last year in select list.</description>
						</argument>
					
						<argument name="monthDisplay">
							<type>string</type>
							<required>0</required>
							<defaultvalue>names</defaultvalue>
							<description>Pass in `names`, `numbers` or `abbreviations` to control display.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="errorElement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>span</defaultvalue>
							<description>HTML tag to wrap the form control with when the object contains errors.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="dateSelectTags">
			<returntype>string</returntype>
			<description>Builds and returns a string containing three select form controls (month, day and year).</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#dateSelectTags()#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="selected">
							<type>date</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>Value of option that should be selected by default.</description>
						</argument>
					
						<argument name="order">
							<type>string</type>
							<required>0</required>
							<defaultvalue>month,day,year</defaultvalue>
							<description>Use to change the order of or exclude date select tags.</description>
						</argument>
					
						<argument name="separator">
							<type>string</type>
							<required>0</required>
							<defaultvalue> </defaultvalue>
							<description>Use to change the character that is displayed between the date select tags.</description>
						</argument>
					
						<argument name="startYear">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>2004</defaultvalue>
							<description>First year in select list.</description>
						</argument>
					
						<argument name="endYear">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>2014</defaultvalue>
							<description>Last year in select list.</description>
						</argument>
					
						<argument name="monthDisplay">
							<type>string</type>
							<required>0</required>
							<defaultvalue>names</defaultvalue>
							<description>Pass in `names`, `numbers` or `abbreviations` to control display.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>See documentation for @select.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="dateTimeSelect">
			<returntype>string</returntype>
			<description>Builds and returns a string containing six select form controls (three for date selection and the remaining three for time selection) based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#dateTimeSelect(objectName="article", property="publishedAt")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to build the form control for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to use in the form control.</description>
						</argument>
					
						<argument name="dateOrder">
							<type>string</type>
							<required>0</required>
							<defaultvalue>month,day,year</defaultvalue>
							<description>See documentation for @dateSelect.</description>
						</argument>
					
						<argument name="dateSeparator">
							<type>string</type>
							<required>0</required>
							<defaultvalue> </defaultvalue>
							<description>See documentation for @dateSelect.</description>
						</argument>
					
						<argument name="startYear">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>2004</defaultvalue>
							<description>First year in select list.</description>
						</argument>
					
						<argument name="endYear">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>2014</defaultvalue>
							<description>Last year in select list.</description>
						</argument>
					
						<argument name="monthDisplay">
							<type>string</type>
							<required>0</required>
							<defaultvalue>names</defaultvalue>
							<description>Pass in `names`, `numbers` or `abbreviations` to control display.</description>
						</argument>
					
						<argument name="timeOrder">
							<type>string</type>
							<required>0</required>
							<defaultvalue>hour,minute,second</defaultvalue>
							<description>See documentation for @timeSelect.</description>
						</argument>
					
						<argument name="timeSeparator">
							<type>string</type>
							<required>0</required>
							<defaultvalue>:</defaultvalue>
							<description>See documentation for @timeSelect.</description>
						</argument>
					
						<argument name="minuteStep">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>1</defaultvalue>
							<description>Pass in `10` to only show minute 10, 20,30 etc.</description>
						</argument>
					
						<argument name="separator">
							<type>string</type>
							<required>0</required>
							<defaultvalue> - </defaultvalue>
							<description>Use to change the character that is displayed between the first and second set of select tags.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="errorElement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>span</defaultvalue>
							<description>HTML tag to wrap the form control with when the object contains errors.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="dateTimeSelectTags">
			<returntype>string</returntype>
			<description>Builds and returns a string containing six select form controls (three for date selection and the remaining three for time selection).</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#dateTimeSelectTags()#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="dateOrder">
							<type>string</type>
							<required>0</required>
							<defaultvalue>month,day,year</defaultvalue>
							<description>See documentation for @dateSelect.</description>
						</argument>
					
						<argument name="dateSeparator">
							<type>string</type>
							<required>0</required>
							<defaultvalue> </defaultvalue>
							<description>See documentation for @dateSelect.</description>
						</argument>
					
						<argument name="startYear">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>2004</defaultvalue>
							<description>See documentation for @dateSelect.</description>
						</argument>
					
						<argument name="endYear">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>2014</defaultvalue>
							<description>See documentation for @dateSelect.</description>
						</argument>
					
						<argument name="monthDisplay">
							<type>string</type>
							<required>0</required>
							<defaultvalue>names</defaultvalue>
							<description>See documentation for @dateSelect.</description>
						</argument>
					
						<argument name="timeOrder">
							<type>string</type>
							<required>0</required>
							<defaultvalue>hour,minute,second</defaultvalue>
							<description>See documentation for @timeSelect.</description>
						</argument>
					
						<argument name="timeSeparator">
							<type>string</type>
							<required>0</required>
							<defaultvalue>:</defaultvalue>
							<description>See documentation for @timeSelect.</description>
						</argument>
					
						<argument name="minuteStep">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>1</defaultvalue>
							<description>See documentation for @timeSelect.</description>
						</argument>
					
						<argument name="separator">
							<type>string</type>
							<required>0</required>
							<defaultvalue> - </defaultvalue>
							<description>Use to change the character that is displayed between the first and second set of select tags.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="daySelectTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a select form control for the days of the week based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#daySelectTag(name="dayOfWeek")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="selected">
							<type>date</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The day that should be selected initially.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="delete">
			<returntype>boolean</returntype>
			<description>Deletes the object, which means the row is deleted from the database (unless prevented by a `beforeDelete` callback). Returns `true` on successful deletion of the row, `false` otherwise.</description>
			<examples><![CDATA[<!--- Get a post object and then delete it from the database --->
<cfset aPost = model("post").findByKey(33)>
<cfset aPost.delete()>

<!--- If you have a `hasMany` association setup from `post` to `comment` you can do a scoped call (the `deleteComment` method below will call `aComment.delete()` internally) --->
<cfset aPost = model("post").findByKey(params.postId)>
<cfset aComment = model("comment").findByKey(params.commentId)>
<cfset aPost.deleteComment(aComment)>]]></examples>
			<arguments>
				
						<argument name="parameterize">
							<type>any</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Accepts a boolean value or a string. Set to `true` to use `cfqueryparam` on all columns or pass in a list of property names to use `cfqueryparam` on those only.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="deleteAll">
			<returntype>numeric</returntype>
			<description>Deletes all records that match the where argument. By default objects will not be instantiated and therefore callbacks and validations are not invoked. You can change this behavior by passing in `instantiate=true`. Returns the number of records that were deleted.</description>
			<examples><![CDATA[<!--- Delete all inactive users without instantiating them (will skip validation and callbacks) --->
<cfset recordsDeleted = model("user").deleteAll(where="inactive=1", instantiate=false)>

<!--- If you have a `hasMany` association setup from `post` to `comment` you can do a scoped call (the `deleteAllComments` method below will call `model("comment").deleteAll(where="postId=#post.id#")` internally) --->
<cfset aPost = model("post").findByKey(params.postId)>
<cfset howManyDeleted = aPost.deleteAllComments()>]]></examples>
			<arguments>
				
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument maps to the `WHERE` clause of the query. The following operators are supported: `=`, `&lt;&gt;`, `&lt;`, `&lt;=`, `&gt;`, `&gt;=`, `LIKE`, `AND`, and `OR` (note that the key words have to be written in upper case). You can also use parentheses to group statements. You do not have to specify the table name(s), Wheels will do that for you.</description>
						</argument>
					
						<argument name="include">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Associations that should be included in the query using `INNER` or `LEFT OUTER` joins (which join type that is used depends on how the association has been set up in your model). If all included associations are set on the current model you can specify them in a list, e.g. `department,addresses,emails`. You can build more complex `include` strings by using parentheses when the association is set on an included model, like `album(artist(genre))` for example.</description>
						</argument>
					
						<argument name="parameterize">
							<type>any</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Accepts a boolean value or a string. Set to `true` to use `cfqueryparam` on all columns or pass in a list of property names to use `cfqueryparam` on those only.</description>
						</argument>
					
						<argument name="instantiate">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether or not to instantiate the object(s) first. When objects are not instantiated any callbacks and validations set on them will be skipped.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="deleteByKey">
			<returntype>boolean</returntype>
			<description>Finds the record with the supplied key and deletes it. Returns `true` on successful deletion of the row, `false` otherwise.</description>
			<examples><![CDATA[<!--- Delete the user with the primary key value of `1` --->
<cfset result = model("user").deleteByKey(1)>]]></examples>
			<arguments>
				
						<argument name="key">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Primary key value(s) of the record to fetch. Separate with comma if passing in multiple primary key values. Accepts a string, list or a numeric value.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="deleteOne">
			<returntype>boolean</returntype>
			<description>Gets an object based on conditions and deletes it.</description>
			<examples><![CDATA[<!--- Delete the user that signed up last --->
<cfset result = model("user").deleteOne(order="signupDate DESC")>

<!--- If you have a `hasOne` association setup from `user` to `profile` you can do a scoped call (the `deleteProfile` method below will call `model("profile").deleteOne(where="userId=#aUser.id#")` internally) --->
<cfset aUser = model("user").findByKey(params.userId)>
<cfset aUser.deleteProfile()>]]></examples>
			<arguments>
				
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument maps to the `WHERE` clause of the query. The following operators are supported: `=`, `&lt;&gt;`, `&lt;`, `&lt;=`, `&gt;`, `&gt;=`, `LIKE`, `AND`, and `OR` (note that the key words have to be written in upper case). You can also use parentheses to group statements. You do not have to specify the table name(s), Wheels will do that for you.</description>
						</argument>
					
						<argument name="order">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument maps to the `ORDER BY` clause of the query. You do not have to specify the table name(s), Wheels will do that for you.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="deobfuscateParam">
			<returntype>string</returntype>
			<description>Deobfuscates a value.</description>
			<examples><![CDATA[<!--- Get the original value from an obfuscated one --->
<cfset originalValue = deobfuscateParam("b7ab9a50")>]]></examples>
			<arguments>
				
						<argument name="param">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Value to deobfuscate.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="distanceOfTimeInWords">
			<returntype>string</returntype>
			<description>Pass in two dates to this method, and it will return a string describing the difference between them.</description>
			<examples><![CDATA[<cfset aWhileAgo = Now() - 30>
	<cfset rightNow = Now()>
	<cfoutput>#distanceOfTimeInWords(aWhileAgo, rightNow)#</cfoutput>]]></examples>
			<arguments>
				
						<argument name="fromTime">
							<type>date</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Date to compare from.</description>
						</argument>
					
						<argument name="toTime">
							<type>date</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Date to compare to.</description>
						</argument>
					
						<argument name="includeSeconds">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether or not to include the number of seconds in the returned string.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="endFormTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing the closing `form` tag.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    #startFormTag(action="create")#
        <!--- your form controls --->
    #endFormTag()#
</cfoutput>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="errorCount">
			<returntype>numeric</returntype>
			<description>Returns the number of errors this object has associated with it. Specify `property` or `name` if you wish to count only specific errors.</description>
			<examples><![CDATA[<!--- Check how many errors are set on the object --->
<cfif author.errorCount() GTE 10>
	<!--- Do something to deal with this very erroneous author here... --->
</cfif>]]></examples>
			<arguments>
				
						<argument name="property">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Specify a property name here if you want to count only errors set on a specific property.</description>
						</argument>
					
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Specify an error name here if you want to count only errors set with a specific error name.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="errorMessageOn">
			<returntype>string</returntype>
			<description>Returns the error message, if one exists, on the object&apos;s property. If multiple error messages exists, the first one is returned.</description>
			<examples><![CDATA[<!--- view code --->
	<cfoutput>
	    #errorMessageFor(objectName="user", property="email")#
	</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to display the error message for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to display the error message for.</description>
						</argument>
					
						<argument name="prependText">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the error message.</description>
						</argument>
					
						<argument name="appendText">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the error message.</description>
						</argument>
					
						<argument name="wrapperElement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>span</defaultvalue>
							<description>HTML element to wrap the error message in.</description>
						</argument>
					
						<argument name="class">
							<type>string</type>
							<required>0</required>
							<defaultvalue>error-message</defaultvalue>
							<description>CSS class to set on the wrapper element.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="errorMessagesFor">
			<returntype>string</returntype>
			<description>Builds and returns a list (`ul` tag with a class of `error-messages`) containing all the error messages for all the properties of the object, if any. Returns an empty string otherwise.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    #errorMessagesFor(objectName="user")#
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to display error messages for.</description>
						</argument>
					
						<argument name="class">
							<type>string</type>
							<required>0</required>
							<defaultvalue>error-messages</defaultvalue>
							<description>CSS class to set on the `ul` element.</description>
						</argument>
					
						<argument name="showDuplicates">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Whether to show duplicate error messages.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="errorsOn">
			<returntype>array</returntype>
			<description>Returns an array of all errors associated with the supplied property (and error name when passed in).</description>
			<examples><![CDATA[<!--- Get all errors related to the email address of the user object --->
<cfset errors = user.errorsOn("emailAddress")>]]></examples>
			<arguments>
				
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Specify the property name to return errors for here.</description>
						</argument>
					
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>If you want to return only errors on the above property set with a specific error name you can specify it here.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="errorsOnBase">
			<returntype>array</returntype>
			<description>Returns an array of all errors associated with the object as a whole (not related to any specific property).</description>
			<examples><![CDATA[<!--- Get all general type errors for the user object --->
<cfset errors = user.errorsOnBase()>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Specify an error name here to only return errors for that error name.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="excerpt">
			<returntype>string</returntype>
			<description>Extracts an excerpt from text that matches the first instance of phrase.</description>
			<examples><![CDATA[#excerpt(text="ColdFusion Wheels is a Rails-like MVC framework for Adobe ColdFusion and Railo", phrase="framework", radius=5)#
-> ... MVC framework for ...]]></examples>
			<arguments>
				
						<argument name="text">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The text to extract an excerpt from.</description>
						</argument>
					
						<argument name="phrase">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The phrase to extract.</description>
						</argument>
					
						<argument name="radius">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>100</defaultvalue>
							<description>Number of characters to extract surrounding the phrase.</description>
						</argument>
					
						<argument name="excerptString">
							<type>string</type>
							<required>0</required>
							<defaultvalue>...</defaultvalue>
							<description>String to replace first and/or last characters with.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="exists">
			<returntype>boolean</returntype>
			<description>Checks if a record exists in the table. You can pass in either a primary key value to the `key` argument or a string to the `where` argument.</description>
			<examples><![CDATA[<!--- Checking if Joe exists in the database --->
<cfset result = model("user").exists(where="firstName='Joe'")>

<!--- Checking if a specific user exists based on a primary key valued passed in through the URL/form in an if statement --->
<cfif model("user").exists(keyparams.key)>
	<!--- Do something... --->
</cfif>

<!--- If you have a `belongsTo` association setup from `comment` to `post` you can do a scoped call (the `hasPost` method below will call `model("post").exists(comment.postId)` internally) --->
<cfset aComment = model("comment").findByKey(params.commentId)>
<cfset commentHasAPost = aComment.hasPost()>

<!--- If you have a `hasOne` association setup from `user` to `profile` you can do a scoped call (the `hasProfile` method below will call `model("profile").exists(where="userId=#user.id#")` internally) --->
<cfset aUser = model("user").findByKey(params.userId)>
<cfset userHasProfile = aUser.hasProfile()>

<!--- If you have a `hasMany` association setup from `post` to `comment` you can do a scoped call (the `hasComments` method below will call `model("comment").exists(where="postid=#post.id#")` internally) --->
<cfset aPost = model("post").findByKey(params.postId)>
<cfset postHasComments = aPost.hasComments()>]]></examples>
			<arguments>
				
						<argument name="key">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Primary key value(s) of the record to fetch. Separate with comma if passing in multiple primary key values. Accepts a string, list or a numeric value.</description>
						</argument>
					
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument maps to the `WHERE` clause of the query. The following operators are supported: `=`, `&lt;&gt;`, `&lt;`, `&lt;=`, `&gt;`, `&gt;=`, `LIKE`, `AND`, and `OR` (note that the key words have to be written in upper case). You can also use parentheses to group statements. You do not have to specify the table name(s), Wheels will do that for you.</description>
						</argument>
					
						<argument name="reload">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Set to `true` to force Wheels to query the database even though an identical query has been run in the same request (the default in Wheels is to get the second query from the cache).</description>
						</argument>
					
						<argument name="parameterize">
							<type>any</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Accepts a boolean value or a string. Set to `true` to use `cfqueryparam` on all columns or pass in a list of property names to use `cfqueryparam` on those only.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="fileField">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a file field form control based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#fileField(objectName="photo", property="imageFile")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to build the form control for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to use in the form control.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="errorElement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>span</defaultvalue>
							<description>HTML tag to wrap the form control with when the object contains errors.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="fileFieldTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a file form control based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#fileFieldTag(name="photo")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="filters">
			<returntype>void</returntype>
			<description>Tells Wheels to run a function before an action is run or after an action has been run. You can also specify multiple functions and actions.</description>
			<examples><![CDATA[<!--- Always execute `restrictAccess` before all actions in this controller --->
<cfset filters("restrictAccess")>

<!--- Always execute `isLoggedIn` and `checkIPAddress` (in that order) before all actions in this controller except the `home` and `login` actions --->
<cfset filters(through="isLoggedIn,checkIPAddress", except="home,login")>]]></examples>
			<arguments>
				
						<argument name="through">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Function(s) to execute before or after the action(s).</description>
						</argument>
					
						<argument name="type">
							<type>string</type>
							<required>0</required>
							<defaultvalue>before</defaultvalue>
							<description>Whether to run the function(s) before or after the action(s).</description>
						</argument>
					
						<argument name="only">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Pass in a list of action names (or one action name) to tell Wheels that the filter function(s) should only be run on these actions.</description>
						</argument>
					
						<argument name="except">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Pass in a list of action names (or one action name) to tell Wheels that the filter function(s) should be run on all actions except the specified ones.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="findAll">
			<returntype>any</returntype>
			<description>Returns records from the database table mapped to this model according to the arguments passed in (use the `where` argument to decide which records to get, use the `order` argument to set in what order those records should be returned and so on). The records will be returned as either a `cfquery` result set or an array of objects (depending on what the `returnAs` argument is set to). Instead of using the `where` argument you can create cleaner code by making use of a concept called dynamic finders.</description>
			<examples><![CDATA[<!--- Getting only 5 users and ordering them randomly --->
<cfset fiveRandomUsers = model("user").findAll(maxRows=5, order="random")>

<!--- Including an association (which in this case has to be setup as a `belongsTo` association to `author` on the `article` model first)  --->
<cfset articles = model("article").findAll(where="published=1", order="createdAt DESC", include="author")>

<!--- Similar to the above but using the association in the opposite direction (has to be setup as a `hasMany` association to `article` on the `author` model) --->
<cfset bobsArticles = model("author").findAll(where="firstName='Bob'", include="articles")>

<!--- Using pagination (getting records 26-50 in this case) and a more complex way to include associations (a song `belongsTo` an album which in turn `belongsTo` an artist) --->
<cfset songs = model("song").findAll(include="album(artist)", page=2, perPage=25)>

<!--- Using a dynamic finder to get all books released a certain year. Same as calling model("book").findOne(where="releaseYear=#params.year#") --->
<cfset books = model("book").findOneByReleaseYear(params.year)>

<!--- Getting all books of a certain type from a specific year by using a dynamic finder. Same as calling model("book").findAll(where="releaseYear=#params.year# AND type='#params.type#'") --->
<cfset books = model("book").findAllByReleaseYearAndType("#params.year#,#params.type#")>

<!--- If you have a `hasMany` association setup from `post` to `comment` you can do a scoped call (the `comments` method below will call `model("comment").findAll(where="postId=#post.id#")` internally) --->
<cfset aPost = model("post").findByKey(params.postId)>
<cfset comments = aPost.comments()>]]></examples>
			<arguments>
				
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument maps to the `WHERE` clause of the query. The following operators are supported: `=`, `&lt;&gt;`, `&lt;`, `&lt;=`, `&gt;`, `&gt;=`, `LIKE`, `AND`, and `OR` (note that the key words have to be written in upper case). You can also use parentheses to group statements. You do not have to specify the table name(s), Wheels will do that for you.</description>
						</argument>
					
						<argument name="order">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument maps to the `ORDER BY` clause of the query. You do not have to specify the table name(s), Wheels will do that for you.</description>
						</argument>
					
						<argument name="select">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument determines how the `SELECT` clause for the query used to return data will look.	You can pass in a list of the properties (which maps to columns) that you want returned from your table(s). If you don&apos;t set this argument at all, Wheels will select all properties from your table(s). If you specify a table name (e.g. `users.email`) or alias a column (e.g. `fn AS firstName`) in the list then the entire list will be passed through unchanged and used in the `SELECT` clause of the query. If not, Wheels will prepend the table name and resolve any naming collisions (which could happen when using the `include` argument) automatically for you. The naming collisions are resolved by prepending the model name to the property name so `users.firstName` could become `userFirstName` for example.</description>
						</argument>
					
						<argument name="distinct">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Boolean value to decide whether to add the `DISTINCT` keyword to your `SELECT` clause. Wheels will, when necessary, add this automatically (when using pagination and a `hasMany` association is used in the `include` argument to name one example).</description>
						</argument>
					
						<argument name="include">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Associations that should be included in the query using `INNER` or `LEFT OUTER` joins (which join type that is used depends on how the association has been set up in your model). If all included associations are set on the current model you can specify them in a list, e.g. `department,addresses,emails`. You can build more complex `include` strings by using parentheses when the association is set on an included model, like `album(artist(genre))` for example.</description>
						</argument>
					
						<argument name="maxRows">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>-1</defaultvalue>
							<description>Maximum number of records to retrieve. Passed on to the `maxRows` `cfquery` attribute. The default `-1` means that all records will be retrieved.</description>
						</argument>
					
						<argument name="page">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>0</defaultvalue>
							<description>If you want to paginate records (i.e. get records 11-20 for example) you can do so by specifying a page number here. For example, getting records 11-20 would be page number 2 when `perPage` is kept at the default setting (10 records per page). The default, `0`, means that records won&apos;t be paginated and that the `perPage`, `count` and `handle` arguments will be ignored.</description>
						</argument>
					
						<argument name="perPage">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>10</defaultvalue>
							<description>When using pagination you can specify how many records you want to fetch per page here. This argument is only used when the `page` argument has been passed in.</description>
						</argument>
					
						<argument name="count">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>0</defaultvalue>
							<description>When using pagination and you know in advance how many records you want to paginate through you can pass in that value here. Doing so will prevent Wheels from running a `COUNT` query to get this value. This argument is only used when the `page` argument has been passed in.</description>
						</argument>
					
						<argument name="handle">
							<type>string</type>
							<required>0</required>
							<defaultvalue>query</defaultvalue>
							<description>Handle to use for the query in pagination. This is useful when you&apos;re paginating multiple queries and need to reference them in the @paginationLinks function for example. This argument is only used when the `page` argument has been passed in.</description>
						</argument>
					
						<argument name="cache">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Accepts a boolean or numeric value. If you want to cache the query you can do so by specifying the number of minutes you want to cache the query for here. If you set it to `true` the default cache time will be used (60 minutes).</description>
						</argument>
					
						<argument name="reload">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Set to `true` to force Wheels to query the database even though an identical query has been run in the same request (the default in Wheels is to get the second query from the cache).</description>
						</argument>
					
						<argument name="parameterize">
							<type>any</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Accepts a boolean value or a string. Set to `true` to use `cfqueryparam` on all columns or pass in a list of property names to use `cfqueryparam` on those only.</description>
						</argument>
					
						<argument name="returnAs">
							<type>string</type>
							<required>0</required>
							<defaultvalue>query</defaultvalue>
							<description>Set this to `objects` to return an array of objects instead of a query result set which is the default return type.</description>
						</argument>
					
						<argument name="returnIncluded">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>When `returnAs` is set to `objects` you can set this argument to `false` to prevent returning objects fetched from associations specified in the `include` argument. This is useful when you only need to include associations for use in the `WHERE` clause only and want to avoid the performance hit that comes with object creation.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="findByKey">
			<returntype>any</returntype>
			<description>Fetches the requested record and returns it as an object. Returns `false` if no record is found. You can override this behavior to return a `cfquery` result set instead, similar to what&apos;s described in the documentation for @findOne.</description>
			<examples><![CDATA[<!--- Getting the author with the primary key vale 99 as an object --->
<cfset auth = model("author").findByKey(99)>

<!--- Getting an author based on a form/URL value and then checking if it was found --->
<cfset auth = model("author").findByKey(params.key)>
<cfif NOT IsObject(auth)>
	<cfset flashInsert(message="Author #params.key# was not found")>
	<cfset redirectTo(back=true)>
</cfif>

<!--- If you have a `belongsTo` association setup from `comment` to `post` you can do a scoped call (the `post` method below will call `model("post").findByKey(comment.postId)` internally) --->
<cfset aComment = model("comment").findByKey(params.commentId)>
<cfset aPost = aComment.post()>]]></examples>
			<arguments>
				
						<argument name="key">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Primary key value(s) of the record to fetch. Separate with comma if passing in multiple primary key values. Accepts a string, list or a numeric value.</description>
						</argument>
					
						<argument name="select">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument determines how the `SELECT` clause for the query used to return data will look.	You can pass in a list of the properties (which maps to columns) that you want returned from your table(s). If you don&apos;t set this argument at all, Wheels will select all properties from your table(s). If you specify a table name (e.g. `users.email`) or alias a column (e.g. `fn AS firstName`) in the list then the entire list will be passed through unchanged and used in the `SELECT` clause of the query. If not, Wheels will prepend the table name and resolve any naming collisions (which could happen when using the `include` argument) automatically for you. The naming collisions are resolved by prepending the model name to the property name so `users.firstName` could become `userFirstName` for example.</description>
						</argument>
					
						<argument name="include">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Associations that should be included in the query using `INNER` or `LEFT OUTER` joins (which join type that is used depends on how the association has been set up in your model). If all included associations are set on the current model you can specify them in a list, e.g. `department,addresses,emails`. You can build more complex `include` strings by using parentheses when the association is set on an included model, like `album(artist(genre))` for example.</description>
						</argument>
					
						<argument name="cache">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Accepts a boolean or numeric value. If you want to cache the query you can do so by specifying the number of minutes you want to cache the query for here. If you set it to `true` the default cache time will be used (60 minutes).</description>
						</argument>
					
						<argument name="reload">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Set to `true` to force Wheels to query the database even though an identical query has been run in the same request (the default in Wheels is to get the second query from the cache).</description>
						</argument>
					
						<argument name="parameterize">
							<type>any</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Accepts a boolean value or a string. Set to `true` to use `cfqueryparam` on all columns or pass in a list of property names to use `cfqueryparam` on those only.</description>
						</argument>
					
						<argument name="returnAs">
							<type>string</type>
							<required>0</required>
							<defaultvalue>object</defaultvalue>
							<description>Can be set to either `object` or `query`. See documentation for @findAll for more info.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="findOne">
			<returntype>any</returntype>
			<description>Fetches the first record found based on the `WHERE` and `ORDER BY` clauses. With the default settings (i.e. the `returnAs` argument set to `object`) a model object will be returned if the record is found and the boolean value `false` if not. Instead of using the `where` argument you can create cleaner code by making use of a concept called dynamic finders.</description>
			<examples><![CDATA[<!--- Getting the most recent order as an object from the database --->
<cfset anOrder = model("order").findOne(order="datePurchased DESC")>

<!--- Using a dynamic finder to get the first person with the last name `Smith`. Same as calling model("user").findOne(where"lastName='Smith'") --->
<cfset person = model("user").findOneByLastName("Smith")>

<!--- Getting a specific user using a dynamic finder. Same as calling model("user").findOne(where"email='someone@somewhere.com' AND password='mypass'") --->
<cfset user = model("user").findOneByEmailAndPassword("someone@somewhere.com,mypass")>

<!--- If you have a `hasOne` association setup from `user` to `profile` you can do a scoped call (the `profile` method below will call `model("profile").findOne(where="userId=#user.id#")` internally) --->
<cfset aUser = model("user").findByKey(params.userId)>
<cfset aProfile = aUser.profile()>

<!--- If you have a `hasMany` association setup from `post` to `comment` you can do a scoped call (the `findOneComment` method below will call `model("comment").findOne(where="postId=#post.id#")` internally) --->
<cfset aPost = model("post").findByKey(params.postId)>
<cfset aComment = aPost.findOneComment(where="text='I Love Wheels!'")>]]></examples>
			<arguments>
				
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument maps to the `WHERE` clause of the query. The following operators are supported: `=`, `&lt;&gt;`, `&lt;`, `&lt;=`, `&gt;`, `&gt;=`, `LIKE`, `AND`, and `OR` (note that the key words have to be written in upper case). You can also use parentheses to group statements. You do not have to specify the table name(s), Wheels will do that for you.</description>
						</argument>
					
						<argument name="order">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument maps to the `ORDER BY` clause of the query. You do not have to specify the table name(s), Wheels will do that for you.</description>
						</argument>
					
						<argument name="select">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument determines how the `SELECT` clause for the query used to return data will look.	You can pass in a list of the properties (which maps to columns) that you want returned from your table(s). If you don&apos;t set this argument at all, Wheels will select all properties from your table(s). If you specify a table name (e.g. `users.email`) or alias a column (e.g. `fn AS firstName`) in the list then the entire list will be passed through unchanged and used in the `SELECT` clause of the query. If not, Wheels will prepend the table name and resolve any naming collisions (which could happen when using the `include` argument) automatically for you. The naming collisions are resolved by prepending the model name to the property name so `users.firstName` could become `userFirstName` for example.</description>
						</argument>
					
						<argument name="include">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Associations that should be included in the query using `INNER` or `LEFT OUTER` joins (which join type that is used depends on how the association has been set up in your model). If all included associations are set on the current model you can specify them in a list, e.g. `department,addresses,emails`. You can build more complex `include` strings by using parentheses when the association is set on an included model, like `album(artist(genre))` for example.</description>
						</argument>
					
						<argument name="cache">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Accepts a boolean or numeric value. If you want to cache the query you can do so by specifying the number of minutes you want to cache the query for here. If you set it to `true` the default cache time will be used (60 minutes).</description>
						</argument>
					
						<argument name="reload">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Set to `true` to force Wheels to query the database even though an identical query has been run in the same request (the default in Wheels is to get the second query from the cache).</description>
						</argument>
					
						<argument name="parameterize">
							<type>any</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Accepts a boolean value or a string. Set to `true` to use `cfqueryparam` on all columns or pass in a list of property names to use `cfqueryparam` on those only.</description>
						</argument>
					
						<argument name="returnAs">
							<type>string</type>
							<required>0</required>
							<defaultvalue>object</defaultvalue>
							<description>Can be set to either `object` or `query`. See documentation for @findAll for more info.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="flash">
			<returntype>any</returntype>
			<description>Gets the value of a specific key in the Flash (or the entire flash as a struct if no key is passed in).</description>
			<examples><![CDATA[<p><cfoutput>#flash("message")#</cfoutput></p>]]></examples>
			<arguments>
				
						<argument name="key">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The key to get the value for.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="flashClear">
			<returntype>void</returntype>
			<description>Deletes everything from the Flash.</description>
			<examples><![CDATA[<cfset flashClear()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="flashCount">
			<returntype>numeric</returntype>
			<description>Checks how many keys exist in the Flash.</description>
			<examples><![CDATA[<cfif flashCount() IS 2>
  do something...
</cfif>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="flashDelete">
			<returntype>boolean</returntype>
			<description>Deletes a specific key from the Flash.</description>
			<examples><![CDATA[<cfset flashDelete(key="errorMessage")>]]></examples>
			<arguments>
				
						<argument name="key">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The key to delete.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="flashInsert">
			<returntype>void</returntype>
			<description>Inserts a new key/value to the Flash.</description>
			<examples><![CDATA[<cfset flashInsert(msg="It Worked!")>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="flashIsEmpty">
			<returntype>boolean</returntype>
			<description>Checks if the Flash is empty.</description>
			<examples><![CDATA[<cfif NOT flashIsEmpty()>
  <cfabort>
</cfif>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="flashKeyExists">
			<returntype>boolean</returntype>
			<description>Checks if a specific key exists in the Flash.</description>
			<examples><![CDATA[<cfif flashKeyExists("error")>
  do something...
</cfif>]]></examples>
			<arguments>
				
						<argument name="key">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The key to check if it exists.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="get">
			<returntype>any</returntype>
			<description>Returns the current setting for the supplied variable name.</description>
			<examples><![CDATA[<!--- Get the current setting for the `tableNamePrefix` variable --->
<cfset setting = get("tableNamePrefix")>

<!--- Get the default for the `message` argument on the `validatesConfirmationOf` method  --->
<cfset setting = get(functionName"validatesConfirmationOf", name="message")>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Variable name to get setting for.</description>
						</argument>
					
						<argument name="functionName">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Function name to get setting for.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="hasChanged">
			<returntype>boolean</returntype>
			<description>Returns `true` if the specified object property (or any if none was passed in) have been changed but not yet saved to the database. Will also return `true` if the object is new and no record for it exists in the database.</description>
			<examples><![CDATA[<!--- Get a member object and change the `email` property on it --->
<cfset member = model("member").findByKey(params.memberId)>
<cfset member.email = params.newEmail>

<!--- Check if the `email` property has changed --->
<cfif member.hasChanged(property="email")>
	<!--- Do something... --->
</cfif>

<!--- The above can also be done using a dynamic function like this --->
<cfif member.emailHasChanged()>
	<!--- Do something... --->
</cfif>]]></examples>
			<arguments>
				
						<argument name="property">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of property to check for change.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="hasErrors">
			<returntype>boolean</returntype>
			<description>Returns `true` if the object has any errors. You can also limit to only check a specific property and name for errors.</description>
			<examples><![CDATA[<!--- Check if the post object has any errors set on it --->
<cfif post.hasErrors()>
	<!--- Send user to a form to correct the errors... --->
</cfif>]]></examples>
			<arguments>
				
						<argument name="property">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of the property to check if there are any errors set on.</description>
						</argument>
					
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Error name to check if there are any errors set with.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="hasMany">
			<returntype>void</returntype>
			<description>Sets up a `hasMany` association between this model and the specified one.</description>
			<examples><![CDATA[<!--- Specify that instances of this model has many comments (the table for the associated model, not the current, should have the foreign key set on it) --->
<cfset hasMany("comments")>

<!--- Specify that this model (let's call it `reader` in this case) has many subscriptions and setup a shortcut to the `magazine` model (useful when dealing with many to many relationships) --->
<cfset hasMany(name="subscriptions", shortcut="magazines")>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Gives the association a name that you refer to when working with the association (in the `include` argument to @findAll to name one example).</description>
						</argument>
					
						<argument name="class">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of associated class (usually not needed if you follow the Wheels conventions since the model name will be deduced from the `name` argument).</description>
						</argument>
					
						<argument name="foreignKey">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Foreign key property name (usually not needed if you follow the Wheels conventions since the foreign key name will be deduced from the `name` argument).</description>
						</argument>
					
						<argument name="joinType">
							<type>string</type>
							<required>0</required>
							<defaultvalue>outer</defaultvalue>
							<description>Use to set the join type when joining associated tables, possible values are `inner` (for `INNER JOIN`) and `outer` (for `LEFT OUTER JOIN`).</description>
						</argument>
					
						<argument name="shortcut">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set this argument to create an additional dynamic method that gets the objects for a many-to-many association.</description>
						</argument>
					
						<argument name="through">
							<type>string</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>Set this argument if you need to override the Wheels convention when using the `shortcut` argument.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="hasOne">
			<returntype>void</returntype>
			<description>Sets up a `hasOne` association between this model and the specified one.</description>
			<examples><![CDATA[<!--- Specify that instances of this model has one profile (the table for the associated model, not the current, should have the foreign key set on it) --->
<cfset hasOne("profile")>

<!--- Same as above but setting the `joinType` to `inner` which basically means this model should always have a record in the `profiles` table --->
<cfset hasOne(name="profile", joinType="inner")>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Gives the association a name that you refer to when working with the association (in the `include` argument to @findAll to name one example).</description>
						</argument>
					
						<argument name="class">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of associated class (usually not needed if you follow the Wheels conventions since the model name will be deduced from the `name` argument).</description>
						</argument>
					
						<argument name="foreignKey">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Foreign key property name (usually not needed if you follow the Wheels conventions since the foreign key name will be deduced from the `name` argument).</description>
						</argument>
					
						<argument name="joinType">
							<type>string</type>
							<required>0</required>
							<defaultvalue>outer</defaultvalue>
							<description>Use to set the join type when joining associated tables, possible values are `inner` (for `INNER JOIN`) and `outer` (for `LEFT OUTER JOIN`).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="hiddenField">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a hidden field form control based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#hiddenField(objectName="user", property="id")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to build the form control for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to use in the form control.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="hiddenFieldTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a hidden field form control based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#hiddenFieldTag(name="userId", value=user.id)#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="value">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Value to populate in tag&apos;s `value` attribute.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="highlight">
			<returntype>string</returntype>
			<description>Highlights the phrase(s) everywhere in the text if found by wrapping it in a `span` tag.</description>
			<examples><![CDATA[#highlight(text="You searched for: Wheels", phrases="Wheels")#
-> You searched for: <span class="highlight">Wheels</span>]]></examples>
			<arguments>
				
						<argument name="text">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Text to search.</description>
						</argument>
					
						<argument name="phrases">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>List of phrases to highlight.</description>
						</argument>
					
						<argument name="class">
							<type>string</type>
							<required>0</required>
							<defaultvalue>highlight</defaultvalue>
							<description>Class to use in `span` tags surrounding highlighted phrase(s).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="hourSelectTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing one select form control for the hours of the day based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#hourSelectTag(name="hourOfMeeting")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="selected">
							<type>date</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The hour that should be selected initially.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="humanize">
			<returntype>string</returntype>
			<description>Returns readable text by capitalizing, converting camel casing to multiple words.</description>
			<examples><![CDATA[<!--- Humanize a string, will result in "Wheels Is A Framework" --->
#humanize("wheelsIsAFramework")#]]></examples>
			<arguments>
				
						<argument name="text">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Text to humanize.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="imageTag">
			<returntype>string</returntype>
			<description>Returns an `img` tag and will (if the image is stored in the local `images` folder) set the `width`, `height`, and `alt` attributes automatically for you.</description>
			<examples><![CDATA[#imageTag("logo.png")#]]></examples>
			<arguments>
				
						<argument name="source">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Image file name if local or full URL if remote.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="includePartial">
			<returntype>string</returntype>
			<description>Includes the specified file in the view. Similar to using `cfinclude` but with the ability to cache the result and using Wheels specific file look-up. By default, Wheels will look for the file in the current controller&apos;s view folder. To include a file relative from the `views` folder, you can start the path supplied to `name` with a forward slash.</description>
			<examples><![CDATA[<cfoutput>#includePartial("login")#</cfoutput>
-> If we're in the "admin" controller, Wheels will include the file "views/admin/_login.cfm".

<cfoutput>#includePartial(partial="misc/doc", cache=30)#</cfoutput>
-> If we're in the "admin" controller, Wheels will include the file "views/admin/misc/_doc.cfm" and cache it for 30 minutes.

<cfoutput>#includePartial(partial="/shared/button")#</cfoutput>
-> Wheels will include the file "views/shared/_button.cfm".]]></examples>
			<arguments>
				
						<argument name="partial">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the file to be used (starting with an optional path and with the underscore and file extension excluded).</description>
						</argument>
					
						<argument name="group">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Field to group the query by. A new query will be passed into the partial template for you to iterate over.</description>
						</argument>
					
						<argument name="cache">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>See documentation for @renderPage.</description>
						</argument>
					
						<argument name="layout">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>See documentation for @renderPage.</description>
						</argument>
					
						<argument name="spacer">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>HTML or string to place between partials when called using a query.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="isAjax">
			<returntype>boolean</returntype>
			<description>Returns whether the page was called from JavaScript or not.</description>
			<examples><![CDATA[<cfset requestIsAjax = isAjax()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="isGet">
			<returntype>boolean</returntype>
			<description>Returns whether the request was a normal (GET) request or not.</description>
			<examples><![CDATA[<cfset requestIsGet = isGet()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="isNew">
			<returntype>boolean</returntype>
			<description>Returns `true` if this object hasn&apos;t been saved yet (in other words no record exists in the database yet). Returns `false` if a record exists.</description>
			<examples><![CDATA[<!--- Create a new object and then check if it is new (yes, this example is ridiculous. It makes more sense in the context of callbacks for example) --->
<cfset anEmployee = model("employee").new()>
<cfif anEmployee.isNew()>
	<!--- Do something... --->
</cfif>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="isPost">
			<returntype>boolean</returntype>
			<description>Returns whether the request came from a form submission or not.</description>
			<examples><![CDATA[<cfset requestIsPost = isPost()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="javaScriptIncludeTag">
			<returntype>string</returntype>
			<description>Returns a `script` tag for a Javascript file (or several) tag based on the supplied arguments.</description>
			<examples><![CDATA[<!--- view code --->
<head>
    #javaScriptIncludeTag("main")#
</head>]]></examples>
			<arguments>
				
						<argument name="sources">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The name of one or many JavaScript files in the `javascripts` folder, minus the `.js` extension. (Can also be called with the `source` argument).</description>
						</argument>
					
						<argument name="type">
							<type>string</type>
							<required>0</required>
							<defaultvalue>text/javascript</defaultvalue>
							<description>The `type` attribute for the `script` tag.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="key">
			<returntype>string</returntype>
			<description>Returns the value of the primary key for the object. If you have a single primary key named `id` then `someObject.key()` is functionally equivalent to `someObject.id`. This method is more useful when you do dynamic programming and don&apos;t know the name of the primary key or when you use composite keys (in which case it&apos;s convenient to use this method to get a list of both key values returned).</description>
			<examples><![CDATA[<!--- Get an object and then get the primary key value(s) --->
<cfset anEmployee = model("employee").findByKey(params.key)>
<cfset val = anEmployee.key()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="linkTo">
			<returntype>string</returntype>
			<description>Creates a link to another page in your application. Pass in the name of a `route` to use your configured routes or a `controller`/`action`/`key` combination.</description>
			<examples><![CDATA[#linkTo(text="Log Out", controller="account", action="logout")#
-> <a href="/account/logout">Log Out</a>

<!--- if you're already in the "account" controller, Wheels will assume that's where you want the link to go. --->
#linkTo(text="Log Out", action="logout")#
-> <a href="/account/logout">Log Out</a>

#linkTo(text="View Post", controller="blog", action="post", key=99)#
-> <a href="/blog/post/99">View Post</a>

#linkTo(text="View Settings", action="settings", params="show=all&sort=asc")#
-> <a href="/account/settings?show=all&amp;sort=asc">View Settings</a>

<!--- given that a userProfile route has been configured in config/routes.cfm --->
#linkTo(text="Joe's Profile", route="userProfile", userName="joe")#
-> <a href="/user/joe">Joe's Profile</a>]]></examples>
			<arguments>
				
						<argument name="text">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The text content of the link.</description>
						</argument>
					
						<argument name="confirm">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Pass a message here to cause a JavaScript confirmation dialog box to pop up containing the message.</description>
						</argument>
					
						<argument name="route">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of a route that you have configured in `config/routes.cfm`.</description>
						</argument>
					
						<argument name="controller">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of the controller to include in the URL.</description>
						</argument>
					
						<argument name="action">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of the action to include in the URL.</description>
						</argument>
					
						<argument name="key">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Key(s) to include in the URL.</description>
						</argument>
					
						<argument name="params">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Any additional params to be set in the query string.</description>
						</argument>
					
						<argument name="anchor">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Sets an anchor name to be appended to the path.</description>
						</argument>
					
						<argument name="onlyPath">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>If `true`, returns only the relative URL (no protocol, host name or port).</description>
						</argument>
					
						<argument name="host">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set this to override the current host.</description>
						</argument>
					
						<argument name="protocol">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set this to override the current protocol.</description>
						</argument>
					
						<argument name="port">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>0</defaultvalue>
							<description>Set this to override the current port number.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="mailTo">
			<returntype>string</returntype>
			<description>Creates a `mailto` link tag to the specified email address, which is also used as the name of the link unless name is specified.</description>
			<examples><![CDATA[#mailTo(emailAddress="webmaster@yourdomain.com", name="Contact our Webmaster")#
-> <a href="mailto:webmaster@yourdomain.com">Contact our Webmaster</a>]]></examples>
			<arguments>
				
						<argument name="emailAddress">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The email address to link to.</description>
						</argument>
					
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>A string to use as the link text (&quot;Joe&quot; or &quot;Support Department&quot;, for example).</description>
						</argument>
					
						<argument name="encode">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Pass `true` here to encode the email address, making it harder for bots to harvest it for example.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="maximum">
			<returntype>numeric</returntype>
			<description>Calculates the maximum value for a given property. Uses the SQL function `MAX`.</description>
			<examples><![CDATA[<!--- Get the amount of the highest salary for all employees --->
<cfset highestSalary = model("employee").maximum("salary")>]]></examples>
			<arguments>
				
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name of the property to get the highest value for (has to be a property of a numeric data type).</description>
						</argument>
					
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>An SQL fragment such as `lastName LIKE &apos;A%&apos;` for example.</description>
						</argument>
					
						<argument name="include">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Any associations that need to be included in the query.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="minimum">
			<returntype>numeric</returntype>
			<description>Calculates the minimum value for a given property. Uses the SQL function `MIN`.</description>
			<examples><![CDATA[<!--- Get the amount of the lowest salary for all employees --->
<cfset lowestSalary = model("employee").minimum("salary")>]]></examples>
			<arguments>
				
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name of the property to get the lowest value for (has to be a property of a numeric data type).</description>
						</argument>
					
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>An SQL fragment such as `lastName LIKE &apos;A%&apos;` for example.</description>
						</argument>
					
						<argument name="include">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Any associations that need to be included in the query.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="minuteSelectTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing one select form control for the minutes of an hour based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#minuteSelectTag(name="minuteOfMeeting")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="selected">
							<type>date</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The minute that should be selected initially.</description>
						</argument>
					
						<argument name="minuteStep">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>1</defaultvalue>
							<description>Pass in `10` to only show minute 10, 20,30 etc.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="model">
			<returntype>any</returntype>
			<description>Returns a reference to the requested model so that class level methods can be called on it.</description>
			<examples><![CDATA[<!--- The `model("author")` part of the code below gets a reference to the class in the application scope and then `findByKey` is called on it --->
<cfset authorObject = model("author").findByKey(1)>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name of the model (class name) to get a reference to.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="monthSelectTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a select form control for the months of the year based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#monthSelectTag(name="monthOfBirthday")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="selected">
							<type>date</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The month that should be selected initially.</description>
						</argument>
					
						<argument name="monthDisplay">
							<type>string</type>
							<required>0</required>
							<defaultvalue>names</defaultvalue>
							<description>Pass in `names`, `numbers` or `abbreviations` to control display.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="new">
			<returntype>any</returntype>
			<description>Creates a new object based on supplied properties and returns it. The object is not saved to the database, it only exists in memory. Property names and values can be passed in either using named arguments or as a struct to the `properties` argument.</description>
			<examples><![CDATA[<!--- Create a new author in memory (not saved to the database) --->
<cfset newAuthor = model("author").new()>

<!--- Create a new author based on properties in a struct --->
<cfset newAuthor = model("author").new(params.authorStruct)>

<!--- Create a new author by passing in named arguments --->
<cfset newAuthor = model("author").new(firstName="John", lastName="Doe")>

<!--- If you have a `hasOne` or `hasMany` association setup from `customer` to `order` you can do a scoped call (the `newOrder` method below will call `model("order").new(customerId=aCustomer.id)` internally) --->
<cfset aCustomer = model("customer").findByKey(params.customerId)>
<cfset anOrder = aCustomer.newOrder(shipping=params.shipping)>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>struct</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The properties you want to set on the object (can also be passed in as named arguments).</description>
						</argument>
					
						<argument name="defaults">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether or not to set default values for properties.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="obfuscateParam">
			<returntype>string</returntype>
			<description>Obfuscates a value, typically used for hiding primary key values when passed along in the URL.</description>
			<examples><![CDATA[<!--- Obfuscate the primary key value `99` --->
<cfset newValue = obfuscateParam(99)>]]></examples>
			<arguments>
				
						<argument name="param">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Value to obfuscate.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="pagination">
			<returntype>struct</returntype>
			<description>Returns a struct with information about the specificed paginated query. The variables that will be returned are `currentPage`, `totalPages` and `totalRecords`.</description>
			<examples><![CDATA[<cfparam name="params.page" default="1">
<cfset allAuthors = model("author").findAll(page=params.page, perPage=25, order="lastName", handle="authorsData")>
<cfset paginationData = pagination("authorsData")>]]></examples>
			<arguments>
				
						<argument name="handle">
							<type>string</type>
							<required>0</required>
							<defaultvalue>query</defaultvalue>
							<description>The handle given to the query to return pagination information for.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="paginationLinks">
			<returntype>string</returntype>
			<description>Builds and returns a string containing links to pages based on a paginated query. Uses @linkTo internally to build the link, so you need to pass in a `route` name or a `controller`/`action`/`key` combination. All other @linkTo arguments can be supplied as well, in which case they are passed through directly to @linkTo. If you have paginated more than one query in the controller, you can use the `handle` argument to reference them. (Don&apos;t forget to pass in a `handle` to the @findAll function in your controller first).</description>
			<examples><![CDATA[<!--- controller code --->
<cfparam name="params.page" default="1">
<cfset allAuthors = model("author").findAll(page=params.page, perPage=25, order="lastName")>

<!--- view code --->
<ul>
    <cfoutput query="allAuthors">
        <li>#firstName# #lastName#</li>
    </cfoutput>
</ul>
<cfoutput>#paginationLinks(action="listAuthors")#</cfoutput>

<!--- view code --->
<cfoutput>#paginationLinks(action="listAuthors", windowSize=5)#</cfoutput>


<!--- controller code --->
<cfset allAuthors = model("author").findAll(handle="authQuery", page=5, order="id")>

<!--- view code --->
<ul>
    <cfoutput>#paginationLinks(action="listAuthors", handle="authQuery", prependToLink="<li>", appendToLink="</li>")#</cfoutput>
</ul>


<!--- route setup in config/routes.cfm --->
<cfset addRoute(name="paginatedCommentListing", pattern="blog/[year]/[month]/[day]/[page]", controller="theBlog", action="stats")>
<cfset addRoute(name="commentListing", pattern="blog/[year]/[month]/[day]",  controller="theBlog", action="stats")>

<!--- controller code --->
<cfparam name="params.page" default="1">
<cfset comments = model("comment").findAll(page=params.page, order="createdAt")>

<!--- view code --->
<ul>
    <cfoutput>#paginationLinks(route="paginatedCommentListing", year=2009, month="feb", day=10)#</cfoutput>
</ul>]]></examples>
			<arguments>
				
						<argument name="windowSize">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>2</defaultvalue>
							<description>The number of page links to show around the current page.</description>
						</argument>
					
						<argument name="alwaysShowAnchors">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Whether or not links to the first and last page should always be displayed.</description>
						</argument>
					
						<argument name="anchorDivider">
							<type>string</type>
							<required>0</required>
							<defaultvalue> ... </defaultvalue>
							<description>String to place next to the anchors on either side of the list.</description>
						</argument>
					
						<argument name="linkToCurrentPage">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether or not the current page should be linked to.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String or HTML to be prepended before result.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String or HTML to be appended after result.</description>
						</argument>
					
						<argument name="prependToPage">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String or HTML to be prepended before each page number.</description>
						</argument>
					
						<argument name="prependOnFirst">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Whether or not to prepend the `prependToPage` string on the first page in the list.</description>
						</argument>
					
						<argument name="appendToPage">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String or HTML to be appended after each page number.</description>
						</argument>
					
						<argument name="appendOnLast">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Whether or not to append the `appendToPage` string on the last page in the list.</description>
						</argument>
					
						<argument name="classForCurrent">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Class name for the current page number (if `linkToCurrentPage` is `true`, the class name will go on the `a` element. If not, a `span` element will be used).</description>
						</argument>
					
						<argument name="handle">
							<type>string</type>
							<required>0</required>
							<defaultvalue>query</defaultvalue>
							<description>The handle given to the query that the pagination links should be displayed for.</description>
						</argument>
					
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue>page</defaultvalue>
							<description>The name of the param that holds the current page number.</description>
						</argument>
					
						<argument name="showSinglePage">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Will show a single page when set to `true`. (The default behavior is to return an empty string when there is only one page in the pagination).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="passwordField">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a password field form control based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#passwordField(objectName="user", property="pass")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to build the form control for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to use in the form control.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="errorElement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>span</defaultvalue>
							<description>HTML tag to wrap the form control with when the object contains errors.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="passwordFieldTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a password field form control based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#passwordFieldTag(name="password")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="value">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Value to populate in tag&apos;s `value` attribute.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="pluginNames">
			<returntype>string</returntype>
			<description>Returns a list of all installed plugins.</description>
			<examples><![CDATA[<!--- Check if the Scaffold plugin is installed --->
<cfif ListFindNoCase("scaffold", pluginNames())>
	<!--- do something cool --->
</cfif>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="pluralize">
			<returntype>string</returntype>
			<description>Returns the plural form of the passed in word.</description>
			<examples><![CDATA[<!--- Pluralize a word, will result in "people" --->
#pluralize("person")#

<!--- Pluralize based on the count passed in --->
Your search returned #pluralize(word="person", count=users.recordCount)#]]></examples>
			<arguments>
				
						<argument name="word">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The word to pluralize.</description>
						</argument>
					
						<argument name="count">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>-1</defaultvalue>
							<description>Pluralization will occur when this value is not `1`.</description>
						</argument>
					
						<argument name="returnCount">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Will return `count` prepended to the pluralization when `true` and `count` is not `-1`.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="primaryKey">
			<returntype>string</returntype>
			<description>Returns the name of the primary key for this model&apos;s table. This is determined through database introspection. If composite primary keys have been used they will both be returned in a list.</description>
			<examples><![CDATA[<!--- Get the name of the primary key of the table mapped to the `employee` model (the `employees` table by default) --->
<cfset theKeyName = model("employee").primaryKey()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="properties">
			<returntype>struct</returntype>
			<description>Returns a structure of all the properties with their names as keys and the values of the property as values.</description>
			<examples><![CDATA[<!--- Get a structure of all the properties for an object --->
<cfset user = model("user").findByKey(1)>
<cfset props = user.properties()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="property">
			<returntype>void</returntype>
			<description>Use this method to map an object property to either a table column with a different name than the property or to a specific SQL function. You only need to use this method when you want to override the default mapping that Wheels performs.</description>
			<examples><![CDATA[<!--- Tell Wheels that when we are referring to `firstName` in the CFML code it should translate to the `STR_USERS_FNAME` column when interacting with the database instead of the default (which would be the `firstname` column) --->
<cfset property(name="firstName", column="STR_USERS_FNAME")>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name that you want to use for the column or SQL function result in the CFML code.</description>
						</argument>
					
						<argument name="column">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The name of the column in the database table to map the property to.</description>
						</argument>
					
						<argument name="sql">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>An SQL function to use to calculate the property value.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="propertyNames">
			<returntype>string</returntype>
			<description>Returns a list of property names ordered by their respective column&apos;s ordinal position in the database table and with eventual calculated properties at the end.</description>
			<examples><![CDATA[<!--- Get a list of the property names in use in the user model --->
  <cfset propNames = model("user").propertyNames()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="radioButton">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a radio button form control based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>
	    #radioButton(objectName="user", property="gender", tagValue="m", label="Male")#<br />
        #radioButton(objectName="user", property="gender", tagValue="f", label="Female")#
	</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to build the form control for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to use in the form control.</description>
						</argument>
					
						<argument name="tagValue">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The value of the radio button when `selected`.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="errorElement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>span</defaultvalue>
							<description>HTML tag to wrap the form control with when the object contains errors.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="radioButtonTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a radio button form control based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>
	    #radioButtonTag(name="gender", value="m", label="Male", checked=true)#<br />
        #radioButtonTag(name="gender", value="f", label="Female")#
	</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="value">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Value to populate in tag&apos;s `value` attribute.</description>
						</argument>
					
						<argument name="checked">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether or not to check the radio button by default.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="redirectTo">
			<returntype>void</returntype>
			<description>Redirects the browser to the supplied `controller`/`action`/`key`, `route` or back to the referring page. Internally It uses the @URLFor function to build the link and the `cflocation` tag to perform the redirect.</description>
			<examples><![CDATA[<!--- Redirect to an action after successfully saving a user --->
<cfif user.save()>
  <cfset redirectTo(action="saveSuccessful")>
</cfif>

<!--- Redirect to a specific page on a secure server --->
<cfset redirectTo(controller="checkout", action="start", params="type=express", protocol="https")>

<!--- Redirect to a route specified in `config/routes.cfm` and pass in the screen name that the route takes --->
<cfset redirectTo(route="profile", screenName="Joe")>

<!--- Redirect back to the page the user came from --->
<cfset redirectTo(back=true)>]]></examples>
			<arguments>
				
						<argument name="back">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Set to `true` to redirect back to the referring page.</description>
						</argument>
					
						<argument name="addToken">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>See documentation for `cflocation`.</description>
						</argument>
					
						<argument name="statusCode">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>302</defaultvalue>
							<description>See documentation for `cflocation`.</description>
						</argument>
					
						<argument name="route">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of a route that you have configured in `config/routes.cfm`.</description>
						</argument>
					
						<argument name="controller">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of the controller to include in the URL.</description>
						</argument>
					
						<argument name="action">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of the action to include in the URL.</description>
						</argument>
					
						<argument name="key">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Key(s) to include in the URL.</description>
						</argument>
					
						<argument name="params">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Any additional params to be set in the query string.</description>
						</argument>
					
						<argument name="anchor">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Sets an anchor name to be appended to the path.</description>
						</argument>
					
						<argument name="onlyPath">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>If `true`, returns only the relative URL (no protocol, host name or port).</description>
						</argument>
					
						<argument name="host">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set this to override the current host.</description>
						</argument>
					
						<argument name="protocol">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set this to override the current protocol.</description>
						</argument>
					
						<argument name="port">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>0</defaultvalue>
							<description>Set this to override the current port number.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="reload">
			<returntype>void</returntype>
			<description>Reloads the property values of this object from the database.</description>
			<examples><![CDATA[<!--- Get an object, call a method on it that could potentially change values and then reload the values from the database --->
<cfset anEmployee = model("employee").findByKey(params.key)>
<cfset anEmployee.someCallThatChangesValuesInTheDatabase()>
<cfset anEmployee.reload()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="renderNothing">
			<returntype>void</returntype>
			<description>Renders a blank string to the browser. This is very similar to calling `cfabort` with the advantage that any after filters you have set on the action will still be run.</description>
			<examples><![CDATA[<!--- Render a blank white page to the browser --->
<cfset renderNothing()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="renderPage">
			<returntype>any</returntype>
			<description>Renders content to the browser by including the view page for the specified `controller` and `action`.</description>
			<examples><![CDATA[<!--- Render a view page for a different action than the current one --->
<cfset renderPage(action="someOtherAction")>

<!--- Render the view page for the current action but without a layout and cache it for 60 minutes --->
<cfset renderPage(layout=false, cache=60)>]]></examples>
			<arguments>
				
						<argument name="controller">
							<type>string</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>Controller to include the view page for.</description>
						</argument>
					
						<argument name="action">
							<type>string</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>Action to include the view page for.</description>
						</argument>
					
						<argument name="template">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>A specific template to render.</description>
						</argument>
					
						<argument name="layout">
							<type>any</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>The layout to wrap the content in.</description>
						</argument>
					
						<argument name="cache">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Minutes to cache the content for.</description>
						</argument>
					
						<argument name="returnAs">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set to `string` to return the result to the controller instead of sending it to the browser immediately.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="renderPartial">
			<returntype>any</returntype>
			<description>Renders content to the browser by including a partial.</description>
			<examples><![CDATA[<!--- Render the partial `_comment.cfm` located in the current controller's view folder --->
<cfset renderPartial("comment")>]]></examples>
			<arguments>
				
						<argument name="partial">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the file to be used (starting with an optional path and with the underscore and file extension excluded).</description>
						</argument>
					
						<argument name="cache">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Minutes to cache the content for.</description>
						</argument>
					
						<argument name="layout">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The layout to wrap the content in.</description>
						</argument>
					
						<argument name="returnAs">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set to `string` to return the result to the controller instead of sending it to the browser immediately.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="renderText">
			<returntype>void</returntype>
			<description>Renders the specified text to the browser.</description>
			<examples><![CDATA[<!--- Render just the text "Done!" to the browser --->
<cfset renderText("Done!")>]]></examples>
			<arguments>
				
						<argument name="text">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The text to be rendered.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="resetCycle">
			<returntype>void</returntype>
			<description>Resets a cycle so that it starts from the first list value the next time it is called.</description>
			<examples><![CDATA[<!--- alternating row colors and shrinking emphasis --->
<cfoutput query="employees" group="departmentId">
	<div class="#cycle(values="even,odd", name="row")#">
<ul>
	<cfoutput>
<cfset rank = cycle(values="president,vice-president,director,manager,specialist,intern", name="position")>
<li class="#rank#">#categories.categoryName#</li>
<cfset resetCycle("emphasis")>
	</cfoutput>
</ul>
	</div>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue>default</defaultvalue>
							<description>The name of the cycle to reset.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="save">
			<returntype>boolean</returntype>
			<description>Saves the object if it passes validation and callbacks. Returns `true` if the object was saved successfully to the database, `false` if not.</description>
			<examples><![CDATA[<!--- Save the user object to the database (will automatically do an `INSERT` or `UPDATE` statement depending on if the record is new or already exists --->
<cfset user.save()>

<!--- Save the user object directly in an if statement without using `cfqueryparam` and take appropriate action based on the result --->
<cfif user.save(parameterize=false)>
	<cfset flashInsert(notice="The user was saved!")>
	<cfset redirectTo(action="userEdit")>
<cfelse>
	<cfset flashInsert(alert="Error, please correct!")>
	<cfset renderPage(action="userEdit")
</cfif>]]></examples>
			<arguments>
				
						<argument name="parameterize">
							<type>any</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Accepts a boolean value or a string. Set to `true` to use `cfqueryparam` on all columns or pass in a list of property names to use `cfqueryparam` on those only.</description>
						</argument>
					
						<argument name="defaults">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Whether or not to set default values for properties.</description>
						</argument>
					
						<argument name="validate">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Whether or not to run validations when saving</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="secondSelectTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing one select form control for the seconds of a minute based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#secondSelectTag(name="secondsToLaunch")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="selected">
							<type>date</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The second that should be selected initially.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="select">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a select form control based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- controller code --->
<cfset authors = model("author").findAll()>

<!--- view code --->
<cfoutput>
    <p>#select(objectName="book", property="authorId", options=authors)#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to build the form control for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to use in the form control.</description>
						</argument>
					
						<argument name="options">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>A collection to populate the select form control with. Can be a query recordset or an array of objects.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="valueField">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The column or property to use for the value of each list element. Used only when a query or array of objects has been supplied in the `options` argument.</description>
						</argument>
					
						<argument name="textField">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The column or property to use for the value of each list element that the end user will see. Used only when a query or array of objects has been supplied in the `options` argument.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="errorElement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>span</defaultvalue>
							<description>HTML tag to wrap the form control with when the object contains errors.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="selectTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a select form control based on the supplied `name` and `options`.</description>
			<examples><![CDATA[<!--- controller code --->
<cfset cities = model("city").findAll()>

<!--- view code --->
<cfoutput>
    <p>#selectTag(name="cityId", options=cities)#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="options">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>A collection to populate the select form control with. Can be a query recordset or an array of objects.</description>
						</argument>
					
						<argument name="selected">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Value of option that should be selected by default.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="multiple">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to allow multiple selection of options in the select form control.</description>
						</argument>
					
						<argument name="valueField">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The column or property to use for the value of each list element. Used only when a query or array of objects has been supplied in the `options` argument.</description>
						</argument>
					
						<argument name="textField">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The column or property to use for the value of each list element that the end user will see. Used only when a query or array of objects has been supplied in the `options` argument.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="sendEmail">
			<returntype>void</returntype>
			<description>Sends an email using a template and an optional layout to wrap it in.</description>
			<examples><![CDATA[<!--- Get a member and send a welcome email passing in a few custom variables to the template --->
<cfset member = model("member").findByKey(newMember.id)>
<cfset sendEmail(to=member.email, template="myemailtemplate", subject="Thank You for Becoming a Member", recipientName=member.name, startDate=member.startDate)>]]></examples>
			<arguments>
				
						<argument name="templates">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The path to the email template or two paths if you want to send a multipart email. if the `detectMultipart` argument is `false` the template for the text version should be the first one in the list (can also be called with the `template` argument).</description>
						</argument>
					
						<argument name="from">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Email address to send from.</description>
						</argument>
					
						<argument name="to">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Email address to send to.</description>
						</argument>
					
						<argument name="subject">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The subject line of the email.</description>
						</argument>
					
						<argument name="layouts">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Layout(s) to wrap body in.</description>
						</argument>
					
						<argument name="detectMultipart">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>When set to `true` Wheels will detect which of the templates is text and which one is html (by counting the `&lt;` characters).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="sendFile">
			<returntype>void</returntype>
			<description>Sends a file to the user (from the `files` folder by default).</description>
			<examples><![CDATA[<!--- Send a PDF file to the user --->
<cfset sendFile(file="wheels_tutorial_20081028_J657D6HX.pdf")>

<!--- Send the same file but give the user a different name in the browser dialog window --->
<cfset sendFile(file="wheels_tutorial_20081028_J657D6HX.pdf", name="Tutorial.pdf")>

<!--- Send a file that is located outside of the web root --->
<cfset sendFile(file="../../tutorials/wheels_tutorial_20081028_J657D6HX.pdf")>]]></examples>
			<arguments>
				
						<argument name="file">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The file to send to the user</description>
						</argument>
					
						<argument name="name">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The file name to show in the browser download dialog box</description>
						</argument>
					
						<argument name="type">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The HTTP content type to deliver the file as</description>
						</argument>
					
						<argument name="disposition">
							<type>string</type>
							<required>0</required>
							<defaultvalue>attachment</defaultvalue>
							<description>Set to &apos;inline&apos; to have the browser handle the opening of the file or set to &apos;attachment&apos; to force a download dialog box</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="set">
			<returntype>void</returntype>
			<description>Use to configure a global setting or set a default for a function.</description>
			<examples><![CDATA[<!--- URL rewriting setting (determined and set automatically by Wheels, override it by setting it to "On", "Off" or "Partial") --->
<cfset set(URLRewriting="Partial")>

<!--- Database settings (set automatically by Wheels to the same name as the folder the application resides, override it by setting `dataSourceName`) --->
<cfset set(dataSourceName="")>
<cfset set(dataSourceUserName="")>
<cfset set(dataSourcePassword ="")>

<!--- Caching settings --->
<cfset set(cacheDatabaseSchema = false)>
<cfset set(cacheFileChecking = false)>
<cfset set(cacheImages = false)>
<cfset set(cacheModelInitialization = false)>
<cfset set(cacheControllerInitialization = false)>
<cfset set(cacheRoutes = false)>
<cfset set(cacheActions = false)>
<cfset set(cachePages = false)>
<cfset set(cachePartials = false)>
<cfset set(cacheQueries = false)>
<cfset set(maximumItemsToCache = 5000)>
<cfset set(cacheCullPercentage = 10)>
<cfset set(cacheCullInterval = 5)>
<cfset set(defaultCacheTime = 60)>

<!--- Error and debugging settings --->
<cfset set(showDebugInformation = true)>
<cfset set(showErrorInformation = true)>
<cfset set(sendEmailOnError = false)>
<cfset set(errorEmailAddress = "")>
<cfset set(errorEmailServer = "")>

<!--- Miscellaneous settings --->
<cfset set(tableNamePrefix = "")>
<cfset set(obfuscateURLs = false)>
<cfset set(reloadPassword = "")>
<cfset set(ipExceptions = "")>
<cfset set(softDeleteProperty = "deletedAt")>
<cfset set(timeStampOnCreateProperty = "createdAt")>
<cfset set(timeStampOnUpdateProperty = "updatedAt")>
<cfset set(overwritePlugins = true)>

<!--- Function defaults --->
<cfset set(functionName="average", distinct=false)>
<cfset set(functionName="buttonTo", onlyPath=true, host="", protocol="", port=0, text="", confirm="", image="", disable="")>
<cfset set(functionName="caches", time=60)>
<cfset set(functionName="checkBox", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", errorElement="span", checkedValue=1, unCheckedValue=0)>
<cfset set(functionName="checkBoxTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", value=1)>
<cfset set(functionName="dateSelect", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", errorElement="span", includeBlank=false, order="month,day,year", separator=" ", startYear=Year(Now())-5, endYear=Year(Now())+5, monthDisplay="names")>
<cfset set(functionName="dateSelectTags", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", includeBlank=false, order="month,day,year", separator=" ", startYear=Year(Now())-5, endYear=Year(Now())+5, monthDisplay="names")>
<cfset set(functionName="dateTimeSelect", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", errorElement="span", includeBlank=false, dateOrder="month,day,year", dateSeparator=" ", startYear=Year(Now())-5, endYear=Year(Now())+5, monthDisplay="names", timeOrder="hour,minute,second", timeSeparator=":", minuteStep=1, separator=" - ")>
<cfset set(functionName="dateTimeSelectTags", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", includeBlank=false, dateOrder="month,day,year", dateSeparator=" ", startYear=Year(Now())-5, endYear=Year(Now())+5, monthDisplay="names", timeOrder="hour,minute,second", timeSeparator=":", minuteStep=1, separator=" - ")>
<cfset set(functionName="daySelectTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", includeBlank=false)>
<cfset set(functionName="delete", parameterize=true)>
<cfset set(functionName="deleteAll", parameterize=true, instantiate=false)>
<cfset set(functionName="distanceOfTimeInWords", includeSeconds=false)>
<cfset set(functionName="errorMessageOn", prependText="", appendText="", wrapperElement="span", class="error-message")>
<cfset set(functionName="errorMessagesFor", class="error-messages", showDuplicates=true)>
<cfset set(functionName="exists", reload=false, parameterize=true)>
<cfset set(functionName="fileField", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", errorElement="span")>
<cfset set(functionName="fileFieldTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="")>
<cfset set(functionName="findAll", reload=false, parameterize=true, perPage=10, order="")>
<cfset set(functionName="findByKey", reload=false, parameterize=true)>
<cfset set(functionName="findOne", reload=false, parameterize=true)>
<cfset set(functionName="hiddenField", )>
<cfset set(functionName="hourSelectTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", includeBlank=false)>
<cfset set(functionName="imageTag", )>
<cfset set(functionName="javaScriptIncludeTag", type="text/javascript")>
<cfset set(functionName="linkTo", onlyPath=true, host="", protocol="", port=0)>
<cfset set(functionName="mailTo", encode=false)>
<cfset set(functionName="minuteSelectTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", includeBlank=false, minuteStep=1)>
<cfset set(functionName="monthSelectTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", includeBlank=false, monthDisplay="names")>
<cfset set(functionName="paginationLinks", windowSize=2, alwaysShowAnchors=true, anchorDivider=" ... ", linkToCurrentPage=false, prependToLink="", appendToLink="", classForCurrent="", name="page")>
<cfset set(functionName="passwordField", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", errorElement="span")>
<cfset set(functionName="passwordFieldTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="")>
<cfset set(functionName="radioButton", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", errorElement="span")>
<cfset set(functionName="radioButtonTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="")>
<cfset set(functionName="redirectTo", onlyPath=true, host="", protocol="", port=0, addToken=false, statusCode=302)>
<cfset set(functionName="renderPage", layout=true)>
<cfset set(functionName="renderPageToString", layout=true)>
<cfset set(functionName="save", parameterize=true)>
<cfset set(functionName="secondSelectTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", includeBlank=false)>
<cfset set(functionName="select", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", errorElement="span", includeBlank=false, multiple=false, valueField="", textField="")>
<cfset set(functionName="selectTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", includeBlank=false, multiple=false, valueField="", textField="")>
<cfset set(functionName="sendEmail", layout=false, detectMultipart=true)>
<cfset set(functionName="sendFile", disposition="attachment")>
<cfset set(functionName="startFormTag", onlyPath=true, host="", protocol="", port=0, method="post", multipart=false, spamProtection=false)>
<cfset set(functionName="styleSheetLinkTag", type="text/css", media="all")>
<cfset set(functionName="submitTag", value="Save changes", image="", disable="")>
<cfset set(functionName="sum", distinct=false)>
<cfset set(functionName="textArea", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", errorElement="span")>
<cfset set(functionName="textAreaTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="")>
<cfset set(functionName="textField", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", errorElement="span")>
<cfset set(functionName="textFieldTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="")>
<cfset set(functionName="timeAgoInWords", includeSeconds=false)>
<cfset set(functionName="timeSelect", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", errorElement="span", includeBlank=false, order="hour,minute,second", separator=":", minuteStep=1)>
<cfset set(functionName="timeSelectTags", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", includeBlank=false, order="hour,minute,second", separator=":", minuteStep=1)>
<cfset set(functionName="timeUntilInWords", includeSeconds=false)>
<cfset set(functionName="update", parameterize=true)>
<cfset set(functionName="updateAll", parameterize=true, instantiate=false)>
<cfset set(functionName="URLFor", onlyPath=true, host="", protocol="", port=0)>
<cfset set(functionName="validatesConfirmationOf", message="[property] should match confirmation")>
<cfset set(functionName="validatesExclusionOf", message="[property] is reserved", allowBlank=false)>
<cfset set(functionName="validatesFormatOf", message="[property] is invalid", allowBlank=false)>
<cfset set(functionName="validatesInclusionOf", message="[property] is not included in the list", allowBlank=false)>
<cfset set(functionName="validatesLengthOf", message="[property] is the wrong length", allowBlank=false, exactly=0, maximum=0, minimum=0, within="")>
<cfset set(functionName="validatesNumericalityOf", message="[property] is not a number", allowBlank=false, onlyInteger=false)>
<cfset set(functionName="validatesPresenceOf", message="[property] can't be empty")>
<cfset set(functionName="validatesUniquenessOf", message="[property] has already been taken")>
<cfset set(functionName="verifies", handler=false)>
<cfset set(functionName="yearSelectTag", label="", wrapLabel=true, prepend="", append="", prependToLabel="", appendToLabel="", includeBlank=false, startYear=Year(Now())-5, endYear=Year(Now())+5)>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="setProperties">
			<returntype>void</returntype>
			<description>Allows you to set all the properties of an object at once by passing in a structure with keys matching the property names.</description>
			<examples><![CDATA[<!--- update the properties of the object with the params struct containing the values of a form post --->
<cfset user = model("user").findByKey(1)>
<cfset user.setProperties(params)>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>struct</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The properties you want to set on the object (can also be passed in as named arguments).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="simpleFormat">
			<returntype>string</returntype>
			<description>Replaces single newline characters with HTML break tags and double newline characters with HTML paragraph tags (properly closed to comply with XHTML standards).</description>
			<examples><![CDATA[<!--- how most of your calls will look --->
#simpleFormat(post.comments)#

<!--- demonstrates what output looks like with specific data --->
<cfsavecontent variable="comment">
	I love this post!

	Here's why:
	* Short
	* Succinct
	* Awesome
</cfsavecontent>
#simpleFormat(comment)#
-> <p>I love this post!</p>
   <p>
       Here's why:<br />
	   * Short<br />
	   * Succinct<br />
	   * Awesome
   </p>]]></examples>
			<arguments>
				
						<argument name="text">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The text to format.</description>
						</argument>
					
						<argument name="wrap">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Set to `true` to wrap the result in a paragraph.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="singularize">
			<returntype>string</returntype>
			<description>Returns the singular form of the passed in word.</description>
			<examples><![CDATA[<!--- Singularize a word, will result in "language" --->
#singularize("languages")#]]></examples>
			<arguments>
				
						<argument name="word">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>String to singularize.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="startFormTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing the opening form tag. The form&apos;s action will be built according to the same rules as `URLFor`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    #startFormTag(action="create", spamProtection=true)#
        <!--- your form controls --->
    #endFormTag()#
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="method">
							<type>string</type>
							<required>0</required>
							<defaultvalue>post</defaultvalue>
							<description>The type of method to use in the form tag, `get` and `post` are the options.</description>
						</argument>
					
						<argument name="multipart">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Set to `true` if the form should be able to upload files.</description>
						</argument>
					
						<argument name="spamProtection">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Set to `true` to protect the form against spammers (done with JavaScript).</description>
						</argument>
					
						<argument name="route">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of a route that you have configured in `config/routes.cfm`.</description>
						</argument>
					
						<argument name="controller">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of the controller to include in the URL.</description>
						</argument>
					
						<argument name="action">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of the action to include in the URL.</description>
						</argument>
					
						<argument name="key">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Key(s) to include in the URL.</description>
						</argument>
					
						<argument name="params">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Any additional params to be set in the query string.</description>
						</argument>
					
						<argument name="anchor">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Sets an anchor name to be appended to the path.</description>
						</argument>
					
						<argument name="onlyPath">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>If `true`, returns only the relative URL (no protocol, host name or port).</description>
						</argument>
					
						<argument name="host">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set this to override the current host.</description>
						</argument>
					
						<argument name="protocol">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set this to override the current protocol.</description>
						</argument>
					
						<argument name="port">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>0</defaultvalue>
							<description>Set this to override the current port number.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="stripLinks">
			<returntype>string</returntype>
			<description>Removes all links from an HTML string, leaving just the link text.</description>
			<examples><![CDATA[#stripLinks("<strong>Wheels</strong> is a framework for <a href="http://www.adobe.com/products/coldfusion/">ColdFusion</a>.")#
-> <strong>Wheels</strong> is a framework for ColdFusion.]]></examples>
			<arguments>
				
						<argument name="html">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The html to remove links from.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="stripTags">
			<returntype>string</returntype>
			<description>Removes all HTML tags from a string.</description>
			<examples><![CDATA[#stripTags("<strong>Wheels</strong> is a framework for <a href="http://www.adobe.com/products/coldfusion/">ColdFusion</a>.")#
-> Wheels is a framework for ColdFusion.]]></examples>
			<arguments>
				
						<argument name="html">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The HTML to remove links from.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="styleSheetLinkTag">
			<returntype>string</returntype>
			<description>Returns a `link` tag for a stylesheet (or several) based on the supplied arguments.</description>
			<examples><![CDATA[<!--- view code --->
<head>
    #styleSheetLinkTag("styles")#
</head>]]></examples>
			<arguments>
				
						<argument name="sources">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The name of one or many CSS files in the `stylesheets` folder, minus the `.css` extension. (Can also be called with the `source` argument).</description>
						</argument>
					
						<argument name="type">
							<type>string</type>
							<required>0</required>
							<defaultvalue>text/css</defaultvalue>
							<description>The `type` attribute for the `link` tag.</description>
						</argument>
					
						<argument name="media">
							<type>string</type>
							<required>0</required>
							<defaultvalue>all</defaultvalue>
							<description>The `media` attribute for the `link` tag.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="submitTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a submit button `form` control.</description>
			<examples><![CDATA[!--- view code --->
<cfoutput>
    #startFormTag(action="something")#
        <!--- form controls go here --->
        #submitTag()#
    #endFormTag()#
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="value">
							<type>string</type>
							<required>0</required>
							<defaultvalue>Save changes</defaultvalue>
							<description>Message to display in the button form control.</description>
						</argument>
					
						<argument name="image">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>File name of the image file to use in the button form control.</description>
						</argument>
					
						<argument name="disable">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Whether to disable the button upon clicking (prevents double-clicking).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="sum">
			<returntype>numeric</returntype>
			<description>Calculates the sum of values for a given property. Uses the SQL function `SUM`.</description>
			<examples><![CDATA[<!--- Get the sum of all salaries --->
<cfset allSalaries = model("employee").sum(property="salary")>

<!--- Get the sum of all salaries for employees in Australia --->
<cfset allAustralianSalaries = model("employee").sum(property="salary", include="country", where="name='Australia'")>]]></examples>
			<arguments>
				
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name of the property to get the sum for (has to be a property of a numeric data type).</description>
						</argument>
					
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>An SQL fragment such as `lastName LIKE &apos;A%&apos;` for example.</description>
						</argument>
					
						<argument name="include">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Any associations that need to be included in the query.</description>
						</argument>
					
						<argument name="distinct">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>When `true`, `SUM` returns the sum of unique values only.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="table">
			<returntype>void</returntype>
			<description>Use this method to tell Wheels what database table to connect to for this model. You only need to use this method when your table naming does not follow the standard Wheels convention of a singular object name mapping to a plural table name.</description>
			<examples><![CDATA[<!--- In models/User.cfc --->
<cffunction name="init">
	<!--- Tell Wheels to use the `tbl_USERS` table in the database for the `user` model instead of the default (which would be `users`) --->
	<cfset table("tbl_USERS")>
</cffunction>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name of the table to map this model to.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="tableName">
			<returntype>string</returntype>
			<description>Returns the name of the database table that this model is mapped to.</description>
			<examples><![CDATA[<!--- Check what table the user model uses --->
<cfset whatAmIMappedTo = model("user").tableName()>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="textArea">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a text area field form control based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
  <p>#textArea(objectName="article", property="overview")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to build the form control for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to use in the form control.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="errorElement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>span</defaultvalue>
							<description>HTML tag to wrap the form control with when the object contains errors.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="textAreaTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a text area form control based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
  <p>#textAreaTag(name="description")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="content">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Content to display in `textarea` by default.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="textField">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a text field form control based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#textField(label="First Name", objectName="user", property="firstName")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to build the form control for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to use in the form control.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="errorElement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>span</defaultvalue>
							<description>HTML tag to wrap the form control with when the object contains errors.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="textFieldTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a text field form control based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#textFieldTag(name="someName")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="value">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Value to populate in tag&apos;s `value` attribute.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="timeAgoInWords">
			<returntype>string</returntype>
			<description>Pass in a date to this method, and it will return a string describing the approximate time difference between that date and the current date.</description>
			<examples><![CDATA[<cfset aWhileAgo = Now() - 30>
<cfoutput>#timeAgoInWords(aWhileAgo)#</cfoutput>]]></examples>
			<arguments>
				
						<argument name="fromTime">
							<type>date</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Date to compare from.</description>
						</argument>
					
						<argument name="includeSeconds">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether or not to include the number of seconds in the returned string.</description>
						</argument>
					
						<argument name="toTime">
							<type>date</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>Date to compare to.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="timeSelect">
			<returntype>string</returntype>
			<description>Builds and returns a string containing three select form controls for a time based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#timeSelect(objectName="business", property="openUntil")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="objectName">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The variable name of the object to build the form control for.</description>
						</argument>
					
						<argument name="property">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The name of the property to use in the form control.</description>
						</argument>
					
						<argument name="order">
							<type>string</type>
							<required>0</required>
							<defaultvalue>hour,minute,second</defaultvalue>
							<description>Use to change the order of or exclude time select tags.</description>
						</argument>
					
						<argument name="separator">
							<type>string</type>
							<required>0</required>
							<defaultvalue>:</defaultvalue>
							<description>Use to change the character that is displayed between the time select tags.</description>
						</argument>
					
						<argument name="minuteStep">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>1</defaultvalue>
							<description>Pass in `10` to only show minute 10, 20,30 etc.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="errorElement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>span</defaultvalue>
							<description>HTML tag to wrap the form control with when the object contains errors.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="timeSelectTags">
			<returntype>string</returntype>
			<description>Builds and returns a string containing three select form controls for a time based on the supplied `objectName` and `property`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#timeSelectTags(name="timeOfMeeting")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="selected">
							<type>date</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>Value of option that should be selected by default.</description>
						</argument>
					
						<argument name="order">
							<type>string</type>
							<required>0</required>
							<defaultvalue>hour,minute,second</defaultvalue>
							<description>Use to change the order of or exclude time select tags.</description>
						</argument>
					
						<argument name="separator">
							<type>string</type>
							<required>0</required>
							<defaultvalue>:</defaultvalue>
							<description>Use to change the character that is displayed between the time select tags.</description>
						</argument>
					
						<argument name="minuteStep">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>1</defaultvalue>
							<description>Pass in `10` to only show minute 10, 20,30 etc.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>See documentation for @select.</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="timeUntilInWords">
			<returntype>string</returntype>
			<description>Pass in a date to this method, and it will return a string describing the approximate time difference between the current date and that date.</description>
			<examples><![CDATA[<cfset aLittleAhead = Now() + 30>
<cfoutput>#timeUntilInWords(aLittleAhead)#</cfoutput>]]></examples>
			<arguments>
				
						<argument name="toTime">
							<type>date</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Date to compare to.</description>
						</argument>
					
						<argument name="includeSeconds">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether or not to include the number of seconds in the returned string.</description>
						</argument>
					
						<argument name="fromTime">
							<type>date</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>Date to compare from.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="titleize">
			<returntype>string</returntype>
			<description>Capitalizes all words in the text to create a nicer looking title.</description>
			<examples><![CDATA[#titleize("Wheels is a framework for ColdFusion")#
-> Wheels Is A Framework For ColdFusion]]></examples>
			<arguments>
				
						<argument name="word">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The text to turn into a title.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="truncate">
			<returntype>string</returntype>
			<description>Truncates text to the specified length and replaces the last characters with the specified truncate string. (Defaults to &quot;...&quot;).</description>
			<examples><![CDATA[#truncate(text="Wheels is a framework for ColdFusion", length=20)#
-> Wheels is a frame...

#truncate(text="Wheels is a framework for ColdFusion", truncateString=" (more)")#
-> Wheels is a framework f (more)]]></examples>
			<arguments>
				
						<argument name="text">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>The text to truncate.</description>
						</argument>
					
						<argument name="length">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>30</defaultvalue>
							<description>Length to truncate the text to.</description>
						</argument>
					
						<argument name="truncateString">
							<type>string</type>
							<required>0</required>
							<defaultvalue>...</defaultvalue>
							<description>String to replace the last characters with.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="update">
			<returntype>boolean</returntype>
			<description>Updates the object with the supplied properties and saves it to the database. Returns `true` if the object was saved successfully to the database and `false` otherwise.</description>
			<examples><![CDATA[<!--- Get a post object and then update its title in the database --->
<cfset post = model("post").findByKey(33)>
<cfset post.update(title="New version of Wheels just released")>

<!--- Get a post object and then update its title and other properties as decided by what is pased in from the URL/form --->
<cfset post = model("post").findByKey(params.key)>
<cfset post.update(title="New version of Wheels just released", properties=params.post)>

<!--- If you have a `hasOne` association setup from `author` to `bio` you can do a scoped call (the `setBio` method below will call `aBio.update(authorId=anAuthor.id)` internally) --->
<cfset anAuthor = model("author").findByKey(params.authorId)>
<cfset aBio = model("bio").findByKey(params.bioId)>
<cfset anAuthor.setBio(aBio)>

<!--- If you have a `hasMany` association setup from `owner` to `car` you can do a scoped call (the `addCar` method below will call `aCar.update(ownerId=anOwner.id)` internally) --->
<cfset anOwner = model("owner").findByKey(params.ownerId)>
<cfset aCar = model("car").findByKey(params.carId)>
<cfset anOwner.addCar(aCar)>

<!--- If you have a `hasMany` association setup from `post` to `comment` you can do a scoped call (the `removeComment` method below will call `aComment.update(postId="")` internally) --->
<cfset aPost = model("post").findByKey(params.postId)>
<cfset aComment = model("comment").findByKey(params.commentId)>
<cfset aPost.removeComment(aComment)>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>struct</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The properties you want to set on the object (can also be passed in as named arguments).</description>
						</argument>
					
						<argument name="parameterize">
							<type>any</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Accepts a boolean value or a string. Set to `true` to use `cfqueryparam` on all columns or pass in a list of property names to use `cfqueryparam` on those only.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="updateAll">
			<returntype>numeric</returntype>
			<description>Updates all properties for the records that match the where argument. Property names and values can be passed in either using named arguments or as a struct to the `properties` argument. By default objects will not be instantiated and therefore callbacks and validations are not invoked. You can change this behavior by passing in `instantiate=true`. This method returns the number of records that were updated.</description>
			<examples><![CDATA[<!--- Update the `published` and `publishedAt` properties for all records that have `published=0` --->
<cfset recordsUpdated = model("post").updateAll(published=1, publishedAt=Now(), where="published=0")>

<!--- If you have a `hasMany` association setup from `post` to `comment` you can do a scoped call (the `removeAllComments` method below will call `model("comment").updateAll(postid="", where="postId=#post.id#")` internally) --->
<cfset aPost = model("post").findByKey(params.postId)>
<cfset removedSuccessfully = aPost.removeAllComments()>]]></examples>
			<arguments>
				
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument maps to the `WHERE` clause of the query. The following operators are supported: `=`, `&lt;&gt;`, `&lt;`, `&lt;=`, `&gt;`, `&gt;=`, `LIKE`, `AND`, and `OR` (note that the key words have to be written in upper case). You can also use parentheses to group statements. You do not have to specify the table name(s), Wheels will do that for you.</description>
						</argument>
					
						<argument name="include">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Associations that should be included in the query using `INNER` or `LEFT OUTER` joins (which join type that is used depends on how the association has been set up in your model). If all included associations are set on the current model you can specify them in a list, e.g. `department,addresses,emails`. You can build more complex `include` strings by using parentheses when the association is set on an included model, like `album(artist(genre))` for example.</description>
						</argument>
					
						<argument name="properties">
							<type>struct</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The properties you want to set on the object (can also be passed in as named arguments).</description>
						</argument>
					
						<argument name="parameterize">
							<type>any</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>Accepts a boolean value or a string. Set to `true` to use `cfqueryparam` on all columns or pass in a list of property names to use `cfqueryparam` on those only.</description>
						</argument>
					
						<argument name="instantiate">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether or not to instantiate the object(s) first. When objects are not instantiated any callbacks and validations set on them will be skipped.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="updateByKey">
			<returntype>boolean</returntype>
			<description>Finds the object with the supplied key and saves it (if validation permits it) with the supplied properties and/or named arguments. Property names and values can be passed in either using named arguments or as a struct to the `properties` argument. Returns `true` if the object was found and updated successfully, `false` otherwise.</description>
			<examples><![CDATA[<!--- Updates the object with `33` as the primary key value with values passed in through the URL/form --->
<cfset result = model("post").updateByKey(33, params.post)>

<!--- Updates the object with `33` using named arguments --->
<cfset result = model("post").updateByKey(key=33, title="New version of Wheels just released", published=1)>]]></examples>
			<arguments>
				
						<argument name="key">
							<type>any</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Primary key value(s) of the record to fetch. Separate with comma if passing in multiple primary key values. Accepts a string, list or a numeric value.</description>
						</argument>
					
						<argument name="properties">
							<type>struct</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The properties you want to set on the object (can also be passed in as named arguments).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="updateOne">
			<returntype>boolean</returntype>
			<description>Gets an object based on the arguments used and updates it with the supplied properties. Returns `true` if an object was found and updated successfully, `false` otherwise.</description>
			<examples><![CDATA[<!--- Sets the `new` property to `1` on the most recently released product --->
<cfset result = model("product").updateOne(order="releaseDate DESC", new=1)>

<!--- If you have a `hasOne` association setup from `user` to `profile` you can do a scoped call (the `removeProfile` method below will call `model("profile").updateOne(where="userId=#aUser.id#", userId="")` internally) --->
<cfset aUser = model("user").findByKey(params.userId)>
<cfset aUser.removeProfile()>]]></examples>
			<arguments>
				
						<argument name="where">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument maps to the `WHERE` clause of the query. The following operators are supported: `=`, `&lt;&gt;`, `&lt;`, `&lt;=`, `&gt;`, `&gt;=`, `LIKE`, `AND`, and `OR` (note that the key words have to be written in upper case). You can also use parentheses to group statements. You do not have to specify the table name(s), Wheels will do that for you.</description>
						</argument>
					
						<argument name="order">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>This argument maps to the `ORDER BY` clause of the query. You do not have to specify the table name(s), Wheels will do that for you.</description>
						</argument>
					
						<argument name="properties">
							<type>struct</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The properties you want to set on the object (can also be passed in as named arguments).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="URLFor">
			<returntype>string</returntype>
			<description>Creates an internal URL based on supplied arguments.</description>
			<examples><![CDATA[<!--- Create the URL for the `logOut` action on the `account` controller, typically resulting in `/account/logout` --->
#URLFor(controller="account", action="logOut")#

<!--- Create a URL with an anchor set on it --->
#URLFor(action="comments", anchor="comment10")#]]></examples>
			<arguments>
				
						<argument name="route">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of a route that you have configured in `config/routes.cfm`.</description>
						</argument>
					
						<argument name="controller">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of the controller to include in the URL.</description>
						</argument>
					
						<argument name="action">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of the action to include in the URL.</description>
						</argument>
					
						<argument name="key">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Key(s) to include in the URL.</description>
						</argument>
					
						<argument name="params">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Any additional params to be set in the query string.</description>
						</argument>
					
						<argument name="anchor">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Sets an anchor name to be appended to the path.</description>
						</argument>
					
						<argument name="onlyPath">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>true</defaultvalue>
							<description>If `true`, returns only the relative URL (no protocol, host name or port).</description>
						</argument>
					
						<argument name="host">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set this to override the current host.</description>
						</argument>
					
						<argument name="protocol">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set this to override the current protocol.</description>
						</argument>
					
						<argument name="port">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>0</defaultvalue>
							<description>Set this to override the current port number.</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="valid">
			<returntype>boolean</returntype>
			<description>Runs the validation on the object and returns `true` if it passes it. Wheels will run the validation process automatically whenever an object is saved to the database but sometimes it&apos;s useful to be able to run this method to see if the object is valid without saving it to the database.</description>
			<examples><![CDATA[<!--- Check if a user is valid before proceeding with execution --->
<cfif user.valid()>
	<!--- Do something here --->
</cfif>]]></examples>
			<arguments>
				
			</arguments>
		</function>
	
		<function name="validate">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called to validate objects before they are saved.</description>
			<examples><![CDATA[<cffunction name="init">
	<!--- Register the `check` method below to be called to validate objects before they are saved --->
	<cfset validate("check")>
</cffunction>

<cffunction name="check">
</cffunction>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names to call (can also be called with the `method` argument).</description>
						</argument>
					
						<argument name="if">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `true` validation will run).</description>
						</argument>
					
						<argument name="unless">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `false` validation will run).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="validateOnCreate">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called to validate new objects before they are inserted.</description>
			<examples><![CDATA[<cffunction name="init">
	<!--- Register the `check` method below to be called to validate new objects before they are inserted --->
	<cfset validateOnCreate("check")>
</cffunction>

<cffunction name="check">
</cffunction>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names to call (can also be called with the `method` argument).</description>
						</argument>
					
						<argument name="if">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `true` validation will run).</description>
						</argument>
					
						<argument name="unless">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `false` validation will run).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="validateOnUpdate">
			<returntype>void</returntype>
			<description>Registers method(s) that should be called to validate existing objects before they are updated.</description>
			<examples><![CDATA[<cffunction name="init">
	<!--- Register the `check` method below to be called to validate existing objects before they are updated --->
	<cfset validateOnUpdate("check")>
</cffunction>

<cffunction name="check">
</cffunction>]]></examples>
			<arguments>
				
						<argument name="methods">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Method name or list of method names to call (can also be called with the `method` argument).</description>
						</argument>
					
						<argument name="if">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `true` validation will run).</description>
						</argument>
					
						<argument name="unless">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `false` validation will run).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="validatesConfirmationOf">
			<returntype>void</returntype>
			<description>Validates that the value of the specified property also has an identical confirmation value (common when having a user type in their email address, choosing a password etc). The confirmation value only exists temporarily and never gets saved to the database. By convention the confirmation property has to be named the same as the property with &quot;Confirmation&quot; appended at the end. Using the password example, to confirm our `password` property we would create a property called `passwordConfirmation`.</description>
			<examples><![CDATA[<!--- Make sure that the user has to confirm their password correctly the first time they register (usually done by typing it again in a second form field) --->
<cfset validatesConfirmationOf(property="password", when="onCreate", message="Please confirm your chosen password properly!")>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of property or list of property names to validate against (can also be called with the `property` argument).</description>
						</argument>
					
						<argument name="message">
							<type>string</type>
							<required>0</required>
							<defaultvalue>[property] should match confirmation</defaultvalue>
							<description>Supply a custom error message here to override the built-in one.</description>
						</argument>
					
						<argument name="when">
							<type>string</type>
							<required>0</required>
							<defaultvalue>onSave</defaultvalue>
							<description>Pass in `onCreate` or `onUpdate` to limit when this validation occurs (by default validation will occur on both create and update, i.e. `onSave`).</description>
						</argument>
					
						<argument name="if">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `true` validation will run).</description>
						</argument>
					
						<argument name="unless">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `false` validation will run).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="validatesExclusionOf">
			<returntype>void</returntype>
			<description>Validates that the value of the specified property does not exist in the supplied list.</description>
			<examples><![CDATA[<!--- Do not allow "PHP" or "Fortran" to be saved to the database as a cool language --->
<cfset validatesExclusionOf(property="coolLanguage", list="php,fortran", message="Haha, you can not be serious, try again please.")>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of property or list of property names to validate against (can also be called with the `property` argument).</description>
						</argument>
					
						<argument name="list">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Single value or list of values that should not be allowed.</description>
						</argument>
					
						<argument name="message">
							<type>string</type>
							<required>0</required>
							<defaultvalue>[property] is reserved</defaultvalue>
							<description>Supply a custom error message here to override the built-in one.</description>
						</argument>
					
						<argument name="when">
							<type>string</type>
							<required>0</required>
							<defaultvalue>onSave</defaultvalue>
							<description>Pass in `onCreate` or `onUpdate` to limit when this validation occurs (by default validation will occur on both create and update, i.e. `onSave`).</description>
						</argument>
					
						<argument name="allowBlank">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>If set to `true`, validation will be skipped if the property value is an empty string or doesn&apos;t exist at all.</description>
						</argument>
					
						<argument name="if">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `true` validation will run).</description>
						</argument>
					
						<argument name="unless">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `false` validation will run).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="validatesFormatOf">
			<returntype>void</returntype>
			<description>Validates that the value of the specified property is formatted correctly by matching it against a regular expression using the `regEx` argument and/or against a built-in CFML validation type (`creditcard`, `date`, `email` etc) using the `type` argument.</description>
			<examples><![CDATA[<!--- Make sure that the user has entered a correct credit card --->
<cfset validatesFormatOf(property="cc", type="creditcard")>

<!--- Make sure that the user has entered an email address ending with the `.se` domain when the `ipCheck` methods returns `true` and it's not Sunday, also supply a custom error message that overrides the Wheels default one --->
<cfset validatesFormatOf(property="email", regEx="^.*@.*\.se$", if="ipCheck()", unless="DayOfWeek() IS 1" message="Sorry, you must have a Swedish email address to use this website")>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of property or list of property names to validate against (can also be called with the `property` argument).</description>
						</argument>
					
						<argument name="regEx">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Regular expression to verify against.</description>
						</argument>
					
						<argument name="type">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>One of the following types to verify against: `creditcard`, `date`, `email`, `eurodate`, `guid`, `social_security_number`, `ssn`, `telephone`, `time`, `URL`, `USdate`, `UUID`, `zipcode` (will be passed through to CFML&apos;s `isValid` function).</description>
						</argument>
					
						<argument name="message">
							<type>string</type>
							<required>0</required>
							<defaultvalue>[property] is invalid</defaultvalue>
							<description>Supply a custom error message here to override the built-in one.</description>
						</argument>
					
						<argument name="when">
							<type>string</type>
							<required>0</required>
							<defaultvalue>onSave</defaultvalue>
							<description>Pass in `onCreate` or `onUpdate` to limit when this validation occurs (by default validation will occur on both create and update, i.e. `onSave`).</description>
						</argument>
					
						<argument name="allowBlank">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>If set to `true`, validation will be skipped if the property value is an empty string or doesn&apos;t exist at all.</description>
						</argument>
					
						<argument name="if">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `true` validation will run).</description>
						</argument>
					
						<argument name="unless">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `false` validation will run).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="validatesInclusionOf">
			<returntype>void</returntype>
			<description>Validates that the value of the specified property exists in the supplied list.</description>
			<examples><![CDATA[<!--- Make sure that the user selects either "Wheels" or "Rails" as their framework --->
<cfset validatesInclusionOf(property="frameworkOfChoice", list="wheels,rails", message="Please try again and this time select a decent framework.")>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of property or list of property names to validate against (can also be called with the `property` argument).</description>
						</argument>
					
						<argument name="list">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>List of allowed values.</description>
						</argument>
					
						<argument name="message">
							<type>string</type>
							<required>0</required>
							<defaultvalue>[property] is not included in the list</defaultvalue>
							<description>Supply a custom error message here to override the built-in one.</description>
						</argument>
					
						<argument name="when">
							<type>string</type>
							<required>0</required>
							<defaultvalue>onSave</defaultvalue>
							<description>Pass in `onCreate` or `onUpdate` to limit when this validation occurs (by default validation will occur on both create and update, i.e. `onSave`).</description>
						</argument>
					
						<argument name="allowBlank">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>If set to `true`, validation will be skipped if the property value is an empty string or doesn&apos;t exist at all.</description>
						</argument>
					
						<argument name="if">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `true` validation will run).</description>
						</argument>
					
						<argument name="unless">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `false` validation will run).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="validatesLengthOf">
			<returntype>void</returntype>
			<description>Validates that the value of the specified property matches the length requirements supplied. Use the `exactly`, `maximum`, `minimum` and `within` arguments to specify the length requirements.</description>
			<examples><![CDATA[<!--- Make sure that the `firstname` and `lastName` properties are not more than 50 characters and use square brackets to dynamically insert the property name when the error message is displayed to the user (the `firstName` property will be displayed as "first name") --->
<cfset validatesLengthOf(properties="firstName,lastName", maximum=50, message="Please shorten your [property] please, 50 characters is the maximum length allowed.")>

<!--- Make sure that the `password` property is between 4 and 15 characters --->
<cfset validatesLengthOf(property="password", within="4,20", message="The password length has to be between 4 and 20 characters.")>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of property or list of property names to validate against (can also be called with the `property` argument).</description>
						</argument>
					
						<argument name="message">
							<type>string</type>
							<required>0</required>
							<defaultvalue>[property] is the wrong length</defaultvalue>
							<description>Supply a custom error message here to override the built-in one.</description>
						</argument>
					
						<argument name="when">
							<type>string</type>
							<required>0</required>
							<defaultvalue>onSave</defaultvalue>
							<description>Pass in `onCreate` or `onUpdate` to limit when this validation occurs (by default validation will occur on both create and update, i.e. `onSave`).</description>
						</argument>
					
						<argument name="allowBlank">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>If set to `true`, validation will be skipped if the property value is an empty string or doesn&apos;t exist at all.</description>
						</argument>
					
						<argument name="exactly">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>0</defaultvalue>
							<description>The exact length that the property value has to be.</description>
						</argument>
					
						<argument name="maximum">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>0</defaultvalue>
							<description>The maximum length that the property value has to be.</description>
						</argument>
					
						<argument name="minimum">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>0</defaultvalue>
							<description>The minimum length that the property value has to be.</description>
						</argument>
					
						<argument name="within">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>A list of two values (minimum and maximum) that the length of the property value has to fall within.</description>
						</argument>
					
						<argument name="if">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `true` validation will run).</description>
						</argument>
					
						<argument name="unless">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `false` validation will run).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="validatesNumericalityOf">
			<returntype>void</returntype>
			<description>Validates that the value of the specified property is numeric.</description>
			<examples><![CDATA[<!--- Make sure that the score is a number with no decimals but only when a score is supplied (setting `allowBlank` to `true` means that objects are allowed to be saved without scores, typically resulting in `NULL` values being inserted in the database table) --->
<cfset validatesNumericalityOf(property="score", onlyInteger=true, allowBlank=true, message="Please enter a correct score.")>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of property or list of property names to validate against (can also be called with the `property` argument).</description>
						</argument>
					
						<argument name="message">
							<type>string</type>
							<required>0</required>
							<defaultvalue>[property] is not a number</defaultvalue>
							<description>Supply a custom error message here to override the built-in one.</description>
						</argument>
					
						<argument name="when">
							<type>string</type>
							<required>0</required>
							<defaultvalue>onSave</defaultvalue>
							<description>Pass in `onCreate` or `onUpdate` to limit when this validation occurs (by default validation will occur on both create and update, i.e. `onSave`).</description>
						</argument>
					
						<argument name="allowBlank">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>If set to `true`, validation will be skipped if the property value is an empty string or doesn&apos;t exist at all.</description>
						</argument>
					
						<argument name="onlyInteger">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Specifies whether the property value has to be an integer.</description>
						</argument>
					
						<argument name="if">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `true` validation will run).</description>
						</argument>
					
						<argument name="unless">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `false` validation will run).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="validatesPresenceOf">
			<returntype>void</returntype>
			<description>Validates that the specified property exists and that its value is not blank.</description>
			<examples><![CDATA[<!--- Make sure that the user data can not be saved to the database without the `emailAddress` property (it has to exist and not be an empty string) --->
<cfset validatesPresenceOf("emailAddress")>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of property or list of property names to validate against (can also be called with the `property` argument).</description>
						</argument>
					
						<argument name="message">
							<type>string</type>
							<required>0</required>
							<defaultvalue>[property] can't be empty</defaultvalue>
							<description>Supply a custom error message here to override the built-in one.</description>
						</argument>
					
						<argument name="when">
							<type>string</type>
							<required>0</required>
							<defaultvalue>onSave</defaultvalue>
							<description>Pass in `onCreate` or `onUpdate` to limit when this validation occurs (by default validation will occur on both create and update, i.e. `onSave`).</description>
						</argument>
					
						<argument name="if">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `true` validation will run).</description>
						</argument>
					
						<argument name="unless">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `false` validation will run).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="validatesUniquenessOf">
			<returntype>void</returntype>
			<description>Validates that the value of the specified property is unique in the database table. Useful for ensuring that two users can&apos;t sign up to a website with identical screen names for example. When a new record is created a check is made to make sure that no record already exists in the database with the given value for the specified property. When the record is updated the same check is made but disregarding the record itself.</description>
			<examples><![CDATA[<!--- Make sure that two users with the same screen name won't ever exist in the database (although to be 100% safe you should consider using database locking as well) --->
<cfset validatesUniquenessOf(property="username", message="Sorry, that username is already taken.")>

<!--- Same as above but allow identical user names as long as they belong to a different account --->
<cfset validatesUniquenessOf(property="username", scope="accountId")>]]></examples>
			<arguments>
				
						<argument name="properties">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Name of property or list of property names to validate against (can also be called with the `property` argument).</description>
						</argument>
					
						<argument name="message">
							<type>string</type>
							<required>0</required>
							<defaultvalue>[property] has already been taken</defaultvalue>
							<description>Supply a custom error message here to override the built-in one.</description>
						</argument>
					
						<argument name="when">
							<type>string</type>
							<required>0</required>
							<defaultvalue>onSave</defaultvalue>
							<description>Pass in `onCreate` or `onUpdate` to limit when this validation occurs (by default validation will occur on both create and update, i.e. `onSave`).</description>
						</argument>
					
						<argument name="allowBlank">
							<type>boolean</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>If set to `true`, validation will be skipped if the property value is an empty string or doesn&apos;t exist at all.</description>
						</argument>
					
						<argument name="scope">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>One or more properties by which to limit the scope of the uniqueness constraint.</description>
						</argument>
					
						<argument name="if">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `true` validation will run).</description>
						</argument>
					
						<argument name="unless">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String expression to be evaluated that decides if validation will be run (if the expression returns `false` validation will run).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="verifies">
			<returntype>void</returntype>
			<description>Tells Wheels to verify that some specific criterias are met before running an action.</description>
			<examples><![CDATA[<!--- Tell Wheels to verify that the `handleForm` action is always a post request when executed --->
<cfset verifies(only="handleForm", post=true)>]]></examples>
			<arguments>
				
						<argument name="only">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Pass in a list of action names (or one action name) to tell Wheels that the verifications should only be run on these actions.</description>
						</argument>
					
						<argument name="except">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Pass in a list of action names (or one action name) to tell Wheels that the filter function(s) should be run on all actions except the specified ones.</description>
						</argument>
					
						<argument name="post">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set to true to verify that this is a post request.</description>
						</argument>
					
						<argument name="get">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set to true to verify that this is a get request.</description>
						</argument>
					
						<argument name="ajax">
							<type>any</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Set to true to verify that this is an AJAX request.</description>
						</argument>
					
						<argument name="cookie">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Verify that the passed in variable name exists in the cookie.</description>
						</argument>
					
						<argument name="session">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Verify that the passed in variable name exists in the session.</description>
						</argument>
					
						<argument name="params">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Verify that the passed in variable name exists in the params.</description>
						</argument>
					
						<argument name="handler">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>Pass in the name of a function that should handle failed verifications (default is to just abort the request when a verification fails).</description>
						</argument>
					
			</arguments>
		</function>
	
		<function name="yearSelectTag">
			<returntype>string</returntype>
			<description>Builds and returns a string containing a select form control for a range of years based on the supplied `name`.</description>
			<examples><![CDATA[<!--- view code --->
<cfoutput>
    <p>#yearSelectTag(name="yearOfBirthday")#</p>
</cfoutput>]]></examples>
			<arguments>
				
						<argument name="name">
							<type>string</type>
							<required>1</required>
							<defaultvalue></defaultvalue>
							<description>Name to populate in tag&apos;s `name` attribute.</description>
						</argument>
					
						<argument name="selected">
							<type>date</type>
							<required>0</required>
							<defaultvalue>[runtime expression]</defaultvalue>
							<description>The year that should be selected initially.</description>
						</argument>
					
						<argument name="startYear">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>2004</defaultvalue>
							<description>First year in select list.</description>
						</argument>
					
						<argument name="endYear">
							<type>numeric</type>
							<required>0</required>
							<defaultvalue>2014</defaultvalue>
							<description>Last year in select list.</description>
						</argument>
					
						<argument name="includeBlank">
							<type>any</type>
							<required>0</required>
							<defaultvalue>false</defaultvalue>
							<description>Whether to include a blank option in the select form control. Pass `true` to include a blank line or a string that should represent what display text should appear for the empty value (for example, &quot;- Select One -&quot;).</description>
						</argument>
					
						<argument name="label">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>The label text to use in the form control.</description>
						</argument>
					
						<argument name="labelPlacement">
							<type>string</type>
							<required>0</required>
							<defaultvalue>around</defaultvalue>
							<description>Whether to place the label before, after, or wrapped around the form control.</description>
						</argument>
					
						<argument name="prepend">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="append">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="prependToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to prepend to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
						<argument name="appendToLabel">
							<type>string</type>
							<required>0</required>
							<defaultvalue></defaultvalue>
							<description>String to append to the form control&apos;s label. Useful to wrap the form control around HTML tags.</description>
						</argument>
					
			</arguments>
		</function>
	
</functions> 
