cakephp-2.0 > Model :: find()
A AbstractTransport AclBehavior AclComponent AclInterface AclNode AclShell Aco AcoAction ActionsAuthorize ApcEngine ApiShell App AppController AppController AppHelper AppHelper AppModel AppModel AppShell Aro AuthComponent B BadRequestException BakeShell BakeTask BaseAuthenticate BaseAuthorize BasicAuthenticate BasicAuthentication BehaviorCollection C Cache CacheEngine CacheException CacheHelper CacheSession CakeEmail CakeErrorController CakeException CakeLog CakeLogException CakeLogInterface CakePlugin CakeRequest CakeResponse CakeRoute CakeSchema CakeSession CakeSessionException CakeSessionHandlerInterface CakeSocket ClassRegistry CommandListShell Component ComponentCollection ConfigReaderInterface Configure ConfigureException ConnectionManager ConsoleErrorHandler ConsoleException ConsoleInput ConsoleInputArgument ConsoleInputOption ConsoleInputSubcommand ConsoleOptionParser ConsoleOutput ConsoleShell ContainableBehavior Controller ControllerAuthorize ControllerTask CookieComponent CrudAuthorize D DatabaseSession DataSource DbAcl DbAclSchema DbConfigTask DboSource Debugger DebugTransport DigestAuthenticate DigestAuthentication Dispatcher E EmailComponent ErrorHandler ExceptionRenderer ExtractTask F File FileEngine FileLog FixtureTask Folder ForbiddenException FormAuthenticate FormHelper H Helper HelperCollection HelpFormatter HtmlHelper HttpException HttpResponse HttpSocket I I18n I18nModel i18nSchema I18nShell Inflector IniReader InternalErrorException J JqueryEngineHelper JsBaseEngineHelper JsHelper L L10n M MailTransport MediaView MemcacheEngine MethodNotAllowedException MissingActionException MissingBehaviorException MissingComponentException MissingConnectionException MissingControllerException MissingDatabaseException MissingDatasourceConfigException MissingDatasourceException MissingHelperException MissingLayoutException MissingModelException MissingPluginException MissingShellException MissingShellMethodException MissingTableException MissingTaskException MissingTestLoaderException MissingViewException Model ModelBehavior ModelTask MootoolsEngineHelper Multibyte Mysql N NotFoundException NumberHelper O Object ObjectCollection P PagesController PagesController PaginatorComponent PaginatorHelper Permission PhpReader PluginShortRoute PluginTask Postgres PrivateActionException ProjectTask PrototypeEngineHelper R RedirectRoute RequestHandlerComponent Router RouterException RssHelper S Sanitize Scaffold ScaffoldView SchemaShell Security SecurityComponent SessionComponent SessionHelper SessionsSchema Set Shell ShellDispatcher SmtpTransport SocketException Sqlite Sqlserver String T TaskCollection TemplateTask TestsuiteShell TestTask TextHelper ThemeView TimeHelper TranslateBehavior TreeBehavior U UnauthorizedException UpgradeShell V Validation View ViewTask W WincacheEngine X XcacheEngine Xml XmlException

find

line:2474 at /lib/Cake/Model/Model.php
Queries the datasource and returns a result set array.

Method

(array) public find ($type = 'first', $query = array())

Parameters

ParameterTypeCommentDefault
$type string optional Type of find operation (all / first / count / neighbors / list / threaded) 'first'
$query array optional Option fields (conditions / fields / joins / limit / offset / order / page / group / callbacks) array()

Return

array

Comment

Queries the datasource and returns a result set array.

Also used to perform notation finds, where the first argument is type of find operation to perform
(all / first / count / neighbors / list / threaded),
second parameter options for finding ( indexed array, including: 'conditions', 'limit',
'recursive', 'page', 'fields', 'offset', 'order')

Eg:
{{{
find('all', array(
'conditions' => array('name' => 'Thomas Anderson'),
'fields' => array('name', 'email'),
'order' => 'field3 DESC',
'recursive' => 2,
'group' => 'type'
));
}}}

In addition to the standard query keys above, you can provide Datasource, and behavior specific
keys. For example, when using a SQL based datasource you can use the joins key to specify additional
joins that should be part of the query.

{{{
find('all', array(
'conditions' => array('name' => 'Thomas Anderson'),
'joins' => array(
array(
'alias' => 'Thought',
'table' => 'thoughts',
'type' => 'LEFT',
'conditions' => '`Thought`.`person_id` = `Person`.`id`'
)
)
));
}}}

Behaviors and find types can also define custom finder keys which are passed into find().

Specifying 'fields' for notation 'list':

- If no fields are specified, then 'id' is used for key and 'model->displayField' is used for value.
- If a single field is specified, 'id' is used for key and specified field is used for value.
- If three fields are specified, they are used (in order) for key, value and group.
- Otherwise, first and second fields are used for key and value.

Note: find(list) + database views have issues with MySQL 5.0. Try upgrading to MySQL 5.1 if you
have issues with database views.
@param string $type Type of find operation (all / first / count / neighbors / list / threaded)
@param array $query Option fields (conditions / fields / joins / limit / offset / order / page / group / callbacks)
@return array Array of records
@link http://book.cakephp.org/2.0/en/models/deleting-data.html#deleteall