【问题标题】:json response convert int to string problem laraveljson响应将int转换为字符串问题laravel
【发布时间】:2020-12-19 10:44:10
【问题描述】:

我使用以下命令在 Laravel 中输出:

response()->json($data, $status, [])->send();

它一直在将数据库中以数字方式定义的所有数字转换为字符串 使用下面的值可以解决这个问题,但是这个解决方案是把所有的数字都转换成数值类型

response()->json($data, $status, [], JSON_NUMERIC_CHECK)->send();

我不希望这种情况发生,因为数据库中有来自字符串的数字,应该保留字符串。

应该怎么做才能在输出中显示其类型的所有值?

【问题讨论】:

  • 你将不得不展示一些例子,我想。例如,您是否有两列,一列是包含 "7" 之类的 varchar,另一列是包含 3 之类的 int,只有后者应该转换为数字?如果那是你的意思?
  • 正如@chris 所说,您的问题有点令人困惑。但是,如果您使用模型进行查询,我认为您需要的是铸造。看看here

标签: php json laravel api jsonencoder


【解决方案1】:

是的,正如 Jairo Nava 所说的那样;

在你的模型中

  protected $casts = [
    'your_int_field' => 'integer',
  ];

使用正确的 INT sql 字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多