簡體   English   中英

插入倍數表時雄辯的ORM事務?

[英]Eloquent ORM Transactions when inserting to multiples tables?

在Laravel中使用Eloquent ORM插入3個表時,是否有某種方法可以確保如果一次插入失敗,那么它們都會全部失敗? 由於這是一個多對多關系,因此我需要確保所有3個插入物都很好地插入。

這是一個示例表結構:

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

看看http://forums.laravel.io/viewtopic.php?id=1464以及這個問題 我在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();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM