Model Object
delete()
Signature
Section titled “Signature”delete() — returns boolean
Available in: model
Category: CRUD Functions
Description
Section titled “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.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
parameterize | any | no | true | Set to true to use cfqueryparam on all columns, or pass in a list of property names to use cfqueryparam on those only. |
transaction | string | no | [runtime expression] | Set this to commit to update the database, rollback to run all the database queries but not commit them, or none to skip transaction handling altogether. |
callbacks | boolean | no | true | Set to false to disable callbacks for this method. |
includeSoftDeletes | boolean | no | false | Set to true to include soft-deleted records in the queries that this method runs. |
softDelete | boolean | no | true | Set to false to permanently delete a record, even if it has a soft delete column. |
Examples
Section titled “Examples”// 1. Get a post object and then delete it from the database.
post = model("Post").findByKey(33);
post.delete();
// 2. Permanently delete a record even if the model uses soft deletes.
user = model("User").findByKey(params.userId);
user.delete(softDelete=false);
// 3. Delete a record without running callbacks (e.g. skip `beforeDelete` / `afterDelete`).
comment = model("Comment").findByKey(params.commentId);
comment.delete(callbacks=false);
// 4. If you have a `hasMany` association setup from `post` to `comment`, you can do a scoped call. (The `deleteComment` method below will call `comment.delete()` internally.)
post = model("Post").findByKey(params.postId);
comment = model("Comment").findByKey(params.commentId);
post.deleteComment(comment);