在 scout:import Laravel 之后数字被格式化为字符串
Posted
技术标签:
【中文标题】在 scout:import Laravel 之后数字被格式化为字符串【英文标题】:Numbers are formatted as string after scout:import Laravel 【发布时间】:2019-07-04 07:03:06 【问题描述】:当我在本地环境中开发网站时,我不得不使用 php artisan scout:import 命令,并且一切正常。但是,一旦我部署了我的应用程序并使用 ssh 使用相同的命令,我就导入了我的模型,但将 int 属性呈现为字符串,f.e. 1 被格式化为“1”。因此,我无法使用 numeric_filters。我在这两种情况下都使用 mysql 数据库。
【问题讨论】:
【参考方案1】:默认情况下,数字在 JSON 响应中呈现为字符串。
您可以使用此 https://***.com/questions/31527050/laravel-5-controller-sending-json-integer-as-string
中的说明,也可以在模型中使用 casts 属性,这样每次模型被序列化时,它都会按照指定的方式转换相应的列。
例如在模型中,您可以这样定义:protected $casts = [
'something' => 'float'
];
【讨论】:
谢谢,伙计,真的很难弄清楚。对我帮助很大。以上是关于在 scout:import Laravel 之后数字被格式化为字符串的主要内容,如果未能解决你的问题,请参考以下文章
Laravel - 在简单的数据库查询内存泄漏/“允许的内存大小为 .. 字节耗尽”之后 [重复]
在 App::abort(403) 之后抑制 Laravel 日志中的堆栈跟踪转储
@include 之后刀片未在刀片中显示内容 - Laravel 4.2