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

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

public tran8 ( Application $app )
$app Eccube\Application
    public function tran8(Application $app)
    {
        $app['orm.em']->beginTransaction();
        try {
            // update 1
            $BaseInfo = $app['eccube.repository.base_info']->get();
            $BaseInfo->setCompanyName('tran8-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('tran8-2');
        $app['orm.em']->flush($BaseInfo);
        // update 3
        $BaseInfo->setCompanyName('tran8-3');
        $app['orm.em']->flush($BaseInfo);
        // update2/3 は 暗黙のtransaction block内のため、2/3はrollbackされる
        throw new \Exception();
        return $app->render('index.twig');
    }