【问题标题】:Update Case-Sensitive DB Field In Laravel 5.3 With Postgres使用 Postgres 更新 Laravel 5.3 中区分大小写的数据库字段
【发布时间】:2018-06-15 01:05:09
【问题描述】:

我正在尝试使用 laravel 中的原始 SQL 更新数据库列字段。重要的是要提到更新代码已写入 MySQL 驱动器,但现在我使用 Postgres。列名是dayID。所以更新代码是:

DB::update("update table set travel = ... WHERE dayID = {$this->dayID}");

我必须使用原始 SQL,因为我对多边形类型进行了一些更新。

问题是 laravel 自动将 dayID 转换为 dayid 所以我得到一个错误:

column "dayid" does not exist

我试图设置一个变量以便在更新查询中使用它,但它也失败并出现同样的错误:

$var = "dayID";
DB::update("update table set travel = ... WHERE ".$var." = {$this->dayID}");

我该如何解决?

【问题讨论】:

    标签: mysql postgresql laravel laravel-eloquent


    【解决方案1】:

    请尝试 DB::table 更新如下:

    DB::table('table_name')
            ->where('dayID', $this->dayID)
            ->update(['travel' => '...']);
    

    Laravel 文档:

    https://laravel.com/docs/5.3/queries#updates

    【讨论】:

      猜你喜欢
      • 2015-07-05
      • 2014-01-19
      • 2014-03-14
      • 2023-03-27
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      相关资源
      最近更新 更多