Model Class Miscellaneous Functions any model
Runs the specified method within a single database transaction.
Name | Type | Required | Default | Description |
---|---|---|---|---|
method | string | Yes | Model method to run. | |
transaction | string | No | commit | 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. |
isolation | string | No | read_committed | Isolation level to be passed through to the cftransaction tag. See your CFML engine's documentation for more details about cftransaction's isolation attribute. |
// This is the method to be run inside a transaction.
public boolean function transferFunds(required any personFrom, required any personTo, required numeric amount) {
if (arguments.personFrom.withdraw(arguments.amount) && arguments.personTo.deposit(arguments.amount)) {
return true;
} else {
return false;
}
}
local.david = model("Person").findOneByName("David");
local.mary = model("Person").findOneByName("Mary");
invokeWithTransaction(method="transferFunds", personFrom=local.david, personTo=local.mary, amount=100);