使用Postgres在Laravel 5.3中更新区分大小写的DB字段

时间:2018-01-05 08:31:34

标签: mysql postgresql laravel laravel-eloquent

我正在尝试使用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}");

我该如何解决?

1 个答案:

答案 0 :(得分:0)

请尝试使用以下更新的DB :: table:

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

Laravel文件:

  

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