2013-05-12 66 views
1

當在Laravel中使用Eloquent ORM插入到3個表時,有什麼方法可以確保如果一個插入失敗,那麼它們都會失敗?由於這是一個多對多的關係,我需要確保所有3個插入,以及插入。當插入到多個表中時雄辯的ORM事務?

這裏有一個樣本表結構:

tbl_users 
id INT AUTO_INCREMENT 
name VARCHAR(100) 

tbl_cars 
id INT AUTO_INCREMENT 
brand VARCHAR(100) 

tbl_user_cars 
user_id INT 
car_id INT 
count TINYINT 

回答

0

看看http://forums.laravel.io/viewtopic.php?id=1464question了。我在laravel-3上測試了這段代碼,我認爲它應該與laravel 4非常相似。以下是我的代碼:

try { 
    DB::connection()->pdo->beginTransaction(); 
    //Do some operation here 
    DB::connection()->pdo->commit(); 
} 
catch (\PDOException $e) { 
    //Rollback if fails 
    DB::connection()->pdo->rollBack(); 
}