Fork me on GitHub
Heads up!
These docs are for Crud v3 - that only works with CakePHP 2.x. For CRUD v4 docs please go to the new documentation site
The CRUD v4 documentation has been completely rewritten, and since CRUD v3 and CRUD v4 API is ~95% identical, it may be worth a look for CRUD v3 users as well until v4 docs are backported for v3.

Edit CrudAction

The edit CrudAction will update an existing record if the request is HTTP POST or HTTP PUT and the data validates.

Relevant links: PHP source code API documentation


This is a list of events emitted from the CrudAction

In addition to the subject properties listed below, there is also a long list of objects that are always available in all events.
Please see the events documentation for a full list of subject properties and how to use the event system correctly.

Event Subject properties Description
Crud.startup None Called after the Controller::beforeFilter() and before the Crud action
Crud.initialize None Triggered when a CrudAction is going to handle a CakePHP.
Crud.beforeSave id ("edit" only) Called right before calling Model::saveAll.
id The ID of the record that will be saved
Access and modify the data from the $request object like you normally would in your own controller action
Crud.afterSave success
This event is triggered right after the call to Model::saveAll().
success indicates whether or not the Model::saveAll() call succeed or not.
id is only available if the save was successful.
created whether the record was created or modified.
Crud.beforeFind findMethod
findMethod maps to the 1st argument of Model::find(). The default value is all.
query maps to the 2nd argument of Model::find(). e.g. fields, conditions, contain etc.
Crud.afterFind id
id is the ID that was originally passed to the action and are usually the primary key of your model.
item is the record that was found in the database.
Crud.recordNotFound id If beforeFind could not find a record this event is emitted
Crud.beforeRender None Invoked right before the view will be rendered.
This is also before the controllers own beforeRender callback
Crud.beforeRedirect url
url A string or Router::url() compatible array
status A redirect status code
exit Should exit(); be called after redirect?
Invoked right before a call to Controller::redirect() is made.
This is also before the controllers own beforeRedirect callback


This is the configuration options for the Crud action class

Please see the configuration documentation on how to change these settings

Key Default value Description
enabled true If this action is enabled or not.
findMethod all (index)
first (edit, view)
count (delete)
The 1st parameter to Model::find or Model::paginate().
view NULL The view file to render. If the value is NULL the normal CakePHP behavior will be used
relatedModels true The configuration for the Related Models Listener
saveOptions [
  'validate' => 'first',
  'atomic' => true
The 2nd parameter to Model::saveAll.

By default validation will be done first, and the save will be atomic by wrapping it all in a transaction.

Please see the CakePHP saveAll documentation for more information.
serialize array() View vars to serialize if you use the Crud API.
This property maps to _serialize in CakePHP


This is a list of the most relevant public methods in the Crud action class.

For a full list please see the full API documentation

Method Description
Related Models Listener Please see the Related Models Listener documentation for usage
findMethod($method = NULL) Get or set the findMethod configuration setting.
If $method is NULL the current findMethod will be returned.
If $method is a string, the setting will be changed.
view($view = NULL) Get or set the view configuration setting.
If $view is NULL the current view will be returned.
If $view is a string, the setting will be changed.
saveOptions($saveOptions = NULL) Get or set the saveOptions configuration setting.
If $saveOptions is NULL the current saveOptions will be returned.
If $saveOptions is an array, the setting will be changed.

comments powered by Disqus