【发布时间】:2021-03-12 18:07:18
【问题描述】:
版本:
- 带有 PDO 的 Firebird 3.0
- Laravel 7
我正在使用 Eloquent,我正在使用包连接数据库 https://packagist.org/packages/harrygulliford/laravel-firebird。
OBS:在 Windows Serve 中运行良好,但在 Linux 中却不行(在 CentOS 7 和 Ubuntu Server 20.04LTS 中)。
我将 Laravel 与 Firebird 一起使用,但我遇到了返回错误值的 NUMERIC 类型字段的问题。
示例: 应该返回 190,65 的查询返回 0.0001。
这是 SQL DDL:
Item::selectRaw("CODIGO,DESCRICAO,PRECOVAREJO,PRECOATACADO,PRECOESPECIAL")->get();
这是 json 中的返回:
{ "data": [ { "CODIGO": "123456", "DESCRICAO": "DESCRIPTION EXAMPLE", "PRECOVAREJO": "0.0001", "PRECOATACADO": "0.0001", "PRECOESPECIAL": "0.0001" } ] }
创建表:
CREATE TABLE ITENS ( PRECOVAREJO NUMERIC(15,3), PRECOATACADO NUMERIC(15,3), PRECOESPECIAL NUMERIC(15,3), CODIGO VARCHAR(8) NOT NULL, DESCRICAO VARCHAR(80) );
@马克·罗特维尔 这是 Eloquent Laravel 构建的查询:
array:2 [ 0 => array:3 [ "query" => "select count(*) as "aggregate" from "ITENS" 其中 "ITENS"."DATACANCELAMENTO" 为空" "bindings" => [ ] "time" => 33.17 ] 1 => array:3 [ "query" => """select CODIGO、DESCRICAO、PRECOVAREJO、PRECOATACADO、PECOESPECIAL from "ITENS",其中 "ITENS"."DATACANCELAMENTO" 为 null order by " CODIGO" asc 仅获取前 10 行 """ "bindings" => [] "time" => 8.39 ] ]
这是预期的回报 Image return expected
【问题讨论】:
-
请提供minimal reproducible example。如果没有实际的 DDL、示例数据以及产生错误结果的查询或代码,您的屏幕截图将无济于事。
-
请包含示例数据,如果可能,请包含 Laravel 生成的实际查询。
-
您可以在 Firebird 2.5 或更新版本上使用 TraceAPI 来查看真正的查询。 IBExpert 或免费的FBProfiler.sf.net,也许还有许多其他的 GUI 工具可以使用 TraceAPI 并为您记录 SQL 语句
-
@JosiasFonseca 如果您没有使用我要求的详细信息更新您的问题,通知我有什么意义?
-
我更新了由 Eloquent 构建的查询并返回预期的数据库