2014-11-17 20 views
7

tôi đang chạy mssql2008 với laravel 5.0 và mỗi lần tôi lấy dữ liệu từ DB có vẻ như mọi thứ đều được trả về dưới dạng chuỗi bất kể định dạng nào được lưu trữ trên cơ sở dữ liệu.số nguyên eloquent laravel được trả về dưới dạng chuỗi trong mssql

{ 
    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" 
} 

tôi biết chúng tôi có thể sử dụng mutators hùng hồn để định dạng các lĩnh vực riêng biệt nhưng điều đó không có cách nào để làm điều này vì có rất nhiều lĩnh vực số nguyên và tôi không muốn tạo một hàm cho mỗi và mọi lĩnh vực.

đây không phải là vấn đề với phản hồi laravel :: json tôi đã bán phá giá mảng bằng var_dump và dường như tất cả các trường được trả về dưới dạng chuỗi.

tôi đã gặp vấn đề này trước đó nhưng đó là với mysql và nó bật ra nó là một vấn đề với trình điều khiển mysql đã phải cài đặt php5_mysqlnd.

tôi đang sử dụng Ubuntu 14.04.

+0

Cảm ơn bạn đã dùng mẹo php5-mysqlnd! Tôi đã gặp vấn đề tương tự, cũng Ubuntu 14.04 – JuCachalot

Trả lời

7

Tôi sử dụng MySQL và cũng tìm thấy cùng một vấn đề trong một số trường hợp. Không sử dụng mutator, thay vào đó hãy sử dụng attribute casting.

protected $casts = [ 
    'id' => 'integer', 
    'owner_id' => 'integer', 
    'is_local' => 'integer', 
    'vessel_type_id' => 'integer', 
    'registration_number' => 'integer', 
    'gross_register_tonnage' => 'integer', 
    'year_built' => 'integer', 
]; 
+0

làm thế nào để đúc bảng tổng hợp (từ quan hệ)? –

Các vấn đề liên quan