laravel eloquent整数在mssql中作为字符串返回

muh*_*min 10 php sql-server eloquent laravel-5

我用laravel 5.0运行mssql2008,每次从DB检索数据时,似乎所有内容都以字符串形式返回,无论我将它存储在数据库中的格式.

{
    id: "1",
    name: "This is crazy",
    owner_id: null,
    is_local: "0",
    vessel_type_id: "3",
    registration_number: "34535",
    gross_register_tonnage: "34",
    year_built: "3453",
    status: "active",
    deleted_at: null,
    created_at: "Nov 5 2014 03:25:38:577PM",
    updated_at: "Nov 17 2014 09:06:40:000AM"
}
Run Code Online (Sandbox Code Playgroud)

我知道我们可以使用雄辩的mutators来单独格式化字段,但由于存在多个整数字段而无法为每个字段创建函数,因此无法执行此操作.

这不是laravel的问题Response :: json我使用var_dump转储了数组,似乎所有字段都以字符串形式返回.

我之前遇到过这个问题,但那是用mysql而事实证明这是一个问题,mysql驱动程序必须安装php5_mysqlnd.

我正在使用Ubuntu 14.04.

小智 13

我使用MySQL,在某些情况下也发现了同样的问题.不要使用mutator,而是使用属性转换.

protected $casts = [
    'id' => 'integer',
    'owner_id' => 'integer',
    'is_local' => 'integer',
    'vessel_type_id' => 'integer',
    'registration_number' => 'integer',
    'gross_register_tonnage' => 'integer',
    'year_built' => 'integer',
];
Run Code Online (Sandbox Code Playgroud)