【问题标题】:How to update Laravel database while using inner join in a migration如何在迁移中使用内部联接更新 Laravel 数据库
【发布时间】:2020-12-31 10:08:18
【问题描述】:

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

简短的故事,我正在尝试替换 columnA 的当前值 tableA 的 id 对应 tableB 的 columnB 中的值。

Tables 结构如下:

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 迁移,当我尝试运行迁移时,没有任何反应。

【问题讨论】:

    标签: php mysql laravel eloquent database-migration


    【解决方案1】:

    尝试使用DB::statement 而不是DB::raw,第二个不会运行查询。

    【讨论】:

    • 我只能在接下来的5分钟后接受答案,但我一定会接受!
    猜你喜欢
    • 2021-11-14
    • 2020-05-07
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 2018-01-05
    • 1970-01-01
    相关资源
    最近更新 更多