2014-11-17 5 views
7

Ich bin mssql2008 mit Laravel 5.0 und jedes Mal, wenn ich Daten von DB abrufen scheint scheint alles als Zeichenfolge zurückgegeben wurde, egal welches Format ich habe es in der Datenbank gespeichert.laravel beredten Integer zurückgegeben als Zeichenfolgen in 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" 
} 

ich weiß, wir eloquent Mutatoren Felder formatiert werden separat verwenden können, aber das ist keine Art und Weise, dies zu tun, da es mehrere Integer-Felder sind und ich will nicht eine Funktion für jedes Feld erstellen.

das ist kein Problem mit Laravel Response :: Json ich habe das Array mit var_dump abgeladen und scheint alle Felder wurden als Zeichenfolgen zurückgegeben.

Ich hatte dieses Problem vorher aber das war mit mysql und es stellte sich heraus, es war ein Problem mit mysql Treiber musste php5_mysqlnd installieren.

Ich benutze Ubuntu 14.04.

+0

Vielen Dank für den php5-mysqlnd Trick! Ich hatte das gleiche Problem, auch Ubuntu 14.04 – JuCachalot

Antwort

7

Ich benutze MySQL und fand auch das gleiche Problem in einigen Fällen. Verwenden Sie keinen Mutator, verwenden Sie stattdessen 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

Wie man Pivot-Tabelle (aus Relation) zu werfen? –

Verwandte Themen