2014-11-17 27 views
7

dizesi olarak döndürülmüş, laravel 5.0 ile mssql2008 çalışıyorum ve DB 'dan veri aldığım her zaman, veritabanı üzerinde depolanan biçime bakılmaksızın her şey dize olarak döndürülmüş gibi görünüyor.laravel eloquent tamsayıları, 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" 
} 

i ayrı ayrı alanlar biçimlendirmek için anlamlı mutators kullanabileceğini biliyor ancak birden tamsayı alanları olduğu gibi bunu yapmak için bir yolu yoktur ve ben istiyorum alanı her bir işlev oluşturmaz.

bu, laravel Response :: json ile ilgili bir problem değil var_dump kullanarak diziyi terk etti ve tüm alanlar dizgiler olarak döndürülüyor gibi görünüyor.

Daha önce bu sorunu yaşadım ama bu mysql ile oldu ve mysql sürücüleri ile bir sorun olduğu ortaya çıktı php5_mysqlnd yüklemek zorunda kaldı.

Ubuntu 14.04 kullanıyorum.

+0

php5-mysqlnd hilesi için teşekkürler! Aynı sorunu yaşıyordum, ayrıca Ubuntu 14.04 – JuCachalot

cevap

7

MySQL kullanıyorum ve bazı durumlarda aynı sorunu da buldum. Mutator kullanmayın, bunun yerine attribute casting kullanın.

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

pivot tablonun nasıl çekileceği (ilişkiden)? –

İlgili konular