使用 Postgres 在 Laravel 5.3 中更新区分大小写的数据库字段
Update Case-Sensitive DB Field In Laravel 5.3 With Postgres
我正在尝试使用 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}");
我该如何解决?
请尝试 DB::table 更新如下:
DB::table('table_name')
->where('dayID', $this->dayID)
->update(['travel' => '...']);
Laravel 文档:
我正在尝试使用 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}");
我该如何解决?
请尝试 DB::table 更新如下:
DB::table('table_name')
->where('dayID', $this->dayID)
->update(['travel' => '...']);
Laravel 文档: