웅변 객체로 선택 :: DB를 돌Laravel 4, 나는이 시도
$result = (array)DB::selectOne('SELECT * FROM campaign WHERE id = ? FOR UPDATE', [$data['campaign_id']]);
$campaign = new Campaign($result);
$campaign->counter += 1;
$campaign->save();
를하지만 나는 새로운 캠페인이 아닌 작업을 시도하고 생각하기 때문에 나는 Integrity constraint violation: 1062 Duplicate entry '1' for key
저장에이 오류가 기존 하나.
편집 : 기본 키가 설정되어 있어도 존재하지 않는 이유는 무엇입니까?
대신에 왠지 또는 유창하게 사용하지 않습니까? –
나는 웅변을하기에는 너무 앞서 있다고 생각한다. 테이블 행을 잠글 필요가있어. 내 쿼리에서'FOR UPDATE'를 사용하고있는 것을 볼 수 있습니다. 나는 그 일을하는 법이나 웅변적인 관습을 알아낼 수 없었다. –
트랜잭션을 명시 적으로 정의 하시겠습니까? ([show here] (http://stackoverflow.com/questions/15105640/laravel-eloquent-orm-transactions)) 도움이 될까요? – fideloper