Laravel - 必须在两个表中插入否则会失败

Laravel - Must be inserted in two tables or otherwise it will fail

Laravel 是否有某种功能允许我在 Table-A 中插入行,但也必须在 Table-B 中插入,否则会失败?

Table-Btable是多态关系

使用beginTransaction确保运行所有查询。

DB::beginTransaction();
try {
  // First query
  // Second query
  ..........
  DB::commit();   
} catch (Exception $ex) {
  DB::rollback();
}

型号可以查看

正如@C2486 在他们的回答中所述,您应该使用事务。但是您不需要使用 trycatch。在 Laravel 文档的 database transactions 部分,您可以看到以下示例:

DB::transaction(function () {
    DB::table('users')->update(['votes' => 1]);

    DB::table('posts')->delete();
});

该方法会自动为您提交,执行过程中出现异常也会自动为您回滚。