2014-10-21 1 views
2

저는 Laravel의 Illuminate Database을 프로젝트에서 독립형으로 사용하고 있습니다.Laravel의 Illuminate 데이터베이스 클래스를 사용하여 트랜잭션을 구현하려면 어떻게해야합니까?

Laravel의 문서 쇼에서 직접 액세스 할 수있는 DB::transaction function이있는 것으로 보입니다. 하지만 Illuminate의 Github 페이지에있는 짧은 위키에 따라 Database \ Capsule \ Manager 클래스를 포함시키지는 않습니다.

어떻게 기능에 액세스 할 수 있습니까? 다른 수업을 포함시켜야하는 것 같지만 어떤 수업을 포함합니까? 나는 Laravel의 내부를 모른다!

답변

5

다른 클래스를 포함하지 않아도되며, 말하는 것처럼 연결을 추가하고 패키지가 대신 할 수 있습니다.

DB :: transaction 메서드를 호출하려면 wiki를 수행 한 후 다음을 사용하십시오.

Capsule::transaction(function() { 
    //Your code... 
}) 

또는 수동으로 그렇게하십시오.

try { 

    Capsule::beginTransaction(); 

    //Your code.... 

    Capsule::commit(); 

} catch (\Exception $e){ 

    Capsule::rollback(); 
    //Handle anything else.... 

} 
+0

이렇게 사용할 수 있습니까? 'Capsule :: beginTransaction(); ' – maxxon15

+1

물론 답장을 보내실 수 있습니다. –

+0

그게 효과가 있어요. 감사! :) 실제 Capsule \ Manager 클래스를 탐색 할 때 해당 기능이 없습니다. 그래서 나는 그것이 작동 할 것인가가 아닌지 지금하지 않았다. :) – maxxon15

관련 문제