Laravel - 必须在两个表中插入否则会失败
Laravel - Must be inserted in two tables or otherwise it will fail
Laravel 是否有某种功能允许我在 Table-A
中插入行,但也必须在 Table-B
中插入,否则会失败?
Table-B
table是多态关系
使用beginTransaction
确保运行所有查询。
DB::beginTransaction();
try {
// First query
// Second query
..........
DB::commit();
} catch (Exception $ex) {
DB::rollback();
}
型号可以查看
正如@C2486 在他们的回答中所述,您应该使用事务。但是您不需要使用 try
和 catch
。在 Laravel 文档的 database transactions 部分,您可以看到以下示例:
DB::transaction(function () {
DB::table('users')->update(['votes' => 1]);
DB::table('posts')->delete();
});
该方法会自动为您提交,执行过程中出现异常也会自动为您回滚。
Laravel 是否有某种功能允许我在 Table-A
中插入行,但也必须在 Table-B
中插入,否则会失败?
Table-B
table是多态关系
使用beginTransaction
确保运行所有查询。
DB::beginTransaction();
try {
// First query
// Second query
..........
DB::commit();
} catch (Exception $ex) {
DB::rollback();
}
型号可以查看
正如@C2486 在他们的回答中所述,您应该使用事务。但是您不需要使用 try
和 catch
。在 Laravel 文档的 database transactions 部分,您可以看到以下示例:
DB::transaction(function () {
DB::table('users')->update(['votes' => 1]);
DB::table('posts')->delete();
});
该方法会自动为您提交,执行过程中出现异常也会自动为您回滚。