Pheasant::transaction PHP Method

transaction() public static method

Creates a transaction, optionally executes
public static transaction ( $closure, $execute = true ) : Transaction
return Transaction
    public static function transaction($closure, $execute = true)
    {
        $transaction = self::instance()->connection()->transaction();
        $transaction->callback($closure);
        if ($execute) {
            $transaction->execute();
        }
        return $transaction;
    }

Usage Example

Example #1
0
 public function testObjectTransactionNotExecuting()
 {
     $this->assertCount(0, Animal::findByType('llama'));
     $t = \Pheasant::transaction(function () {
         $animal = new Animal(array('type' => 'llama'));
         $animal->save();
     }, false);
     $this->assertCount(0, Animal::findByType('llama'));
     $t->execute();
     $this->assertCount(1, Animal::findByType('llama'));
 }