JSON整数自动转换为除id之外的字符串[关闭]
Posted
技术标签:
【中文标题】JSON整数自动转换为除id之外的字符串[关闭]【英文标题】:JSON integer automatically to string except id [closed] 【发布时间】:2018-08-21 04:11:19 【问题描述】:设置: - php - Vuejs/vueresource - Laravel
在本地一切正常,在 prod 中失败。
在本地,当我执行 ajax 请求时,我收到这样的项目:
"ad":"id":7,"active":1,"url":null,"publish_date":"2018-03-12", ... .. .....
在 prod 中,我收到这样的信息:
"ad":"id":7,"active":"1","url":null,"publish_date":"2018-03-12", ... .
不同之处在于本地的 active prop 它实际上是一个整数,而 prod 是一个字符串。
我只是不明白。
【问题讨论】:
我们也没有。您认为我们将如何帮助实现这一声明? 看看这里。我认为这会有所帮助:laracasts.com/discuss/channels/vue/… 【参考方案1】:试试attribute casting。来自文档:
属性转换
模型上的
$casts
属性提供了一种将属性转换为常见数据类型的便捷方法。$casts
属性应该是一个数组,其中键是要转换的属性的名称,值是您希望将列转换为的类型。支持的强制转换类型为:integer
、real
、float
、double
、string
、boolean
、object
、array
、collection
、date
4、3和timestamp
。例如,让我们将
is_admin
属性作为integer
(0
或1
)存储在我们的数据库中,转换为boolean
值:<?php namespace App; use Illuminate\Database\Eloquent\Model; class User extends Model /** * The attributes that should be cast to native types. * * @var array */ protected $casts = [ 'is_admin' => 'boolean', ];
现在
is_admin
属性在您访问它时将始终转换为boolean
,即使基础值作为integer
存储在数据库中:$user = App\User::find(1); if ($user->is_admin) //
因此,您需要定义 Laravel 转换所需属性的正确方式。为此,只需覆盖模型类中的 $casts
数组并将您的属性(键)指定为正确的类型(值)。
/path/to/your/project/app/SomeModel.php
class SomeModel extends Model
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'active' => 'integer',
];
// The rest of the model code.
【讨论】:
以上是关于JSON整数自动转换为除id之外的字符串[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
需要为除 word1 或 word2 之外的任何单词找到正则表达式