如何在迁移中使用内连接时更新 Laravel 数据库

我有以下 SQL 语句,它可以直接在 SQL 控制台中运行,但我需要在 Laravel 迁移上进行它。

简而言之,我试图用 tableB 的 columnB 中相应值的 id 替换 tableA 上的 columnA 的当前值。

表结构如下:

tableA:
    id: int(11)
    columnA: varchar(191)tableB:
    id: int(11)
    columnB: varchar(191)

在SQL控制台上运行的SQL语句:

UPDATE tableA INNER JOIN tableB ON tableA.columnA = tableB.columnB SET tableA.columnA=tableB.id WHERE tableB.columnB = tableA.columnA

我认为它正在使用原始语句:

DB::raw(UPDATE tableA INNER JOIN tableB ON tableA.columnA = tableB.columnB SET tableA.columnA=tableB.id WHERE tableB.columnB = tableA.columnA);

现在我正致力于创建 Laravel 迁移,当我尝试运行迁移时,没有任何反应。


慕妹3146593
浏览 77回答 1
1回答

慕运维8079593

尝试使用DB::statement代替DB::raw,第二个不运行查询。
打开App,查看更多内容
随时随地看视频慕课网APP