> 백엔드 개발 > PHP 튜토리얼 > 关于laravel事务

关于laravel事务

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-07-06 13:52:28
원래의
934명이 탐색했습니다.

<code>        DB::beginTransaction();
        foreach($checkArr[0] as $v){
            $id = explode('-',$v)[0];
            $rank = explode('-',$v)[1] != '' ? explode('-',$v)[1] : 5;
            if(index_friendlink::where('id','=',$id)->pluck('online') == 1){
                $updrank = index_friendlink::find($id);
                $updrank -> rank = $rank;
                $updrank -> save();
            }
        }
        $ret = index_friendlink::where('online','=','1')->get();
        foreach($ret as $v) {
            $retRank[] = $v->rank;
        }
        if (count($retRank) != count(array_unique($retRank))) {
            DB::rollback();
            echo '2';
            exit;
        }
        DB::commit();
        
        
        怎么回滚不了,第一次使用laravel,求大神解答,数据库已改成innodb</code>
로그인 후 복사
로그인 후 복사

回复内容:

<code>        DB::beginTransaction();
        foreach($checkArr[0] as $v){
            $id = explode('-',$v)[0];
            $rank = explode('-',$v)[1] != '' ? explode('-',$v)[1] : 5;
            if(index_friendlink::where('id','=',$id)->pluck('online') == 1){
                $updrank = index_friendlink::find($id);
                $updrank -> rank = $rank;
                $updrank -> save();
            }
        }
        $ret = index_friendlink::where('online','=','1')->get();
        foreach($ret as $v) {
            $retRank[] = $v->rank;
        }
        if (count($retRank) != count(array_unique($retRank))) {
            DB::rollback();
            echo '2';
            exit;
        }
        DB::commit();
        
        
        怎么回滚不了,第一次使用laravel,求大神解答,数据库已改成innodb</code>
로그인 후 복사
로그인 후 복사

你的回滚条件是用 PHP 进行判断,而事务应该脱离 PHP ,MySQL 中就能直接实现的吧,比如说删除或者插入失败或者没有走到 commit 回滚。进这个问题看看

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿