Eccube\Tests\Transaction\TransactionControllerMock::tran7 PHP Метод

tran7() публичный Метод

public tran7 ( Application $app )
$app Eccube\Application
    public function tran7(Application $app)
    {
        $app['orm.em']->beginTransaction();
        try {
            // update 1
            $BaseInfo = $app['eccube.repository.base_info']->get();
            $BaseInfo->setCompanyName('tran7-1');
            $app['orm.em']->flush($BaseInfo);
            $app['orm.em']->commit();
            // update 1がrollback
            throw new \Exception();
        } catch (\Exception $e) {
            // update 1がrollback
            $app['orm.em']->rollback();
        }
        // update 2
        $BaseInfo->setCompanyName('tran7-2');
        $app['orm.em']->flush($BaseInfo);
        // update 3
        $BaseInfo->setCompanyName('tran7-3');
        $app['orm.em']->flush($BaseInfo);
        // update2/3 は 暗黙のtransaction block 内のため、まとめて更新される.
        return $app->render('index.twig');
    }