2016-12-20 12 views
0

Laravel DB Seederに問題があります。私は、JSONの行に値を入れて試してみた:MySQLでの二重引用符(Laravel Seeder)

スコア '=> '{ "平均":2、 "クリーン":2、 "場所":1、 "キーパー":1}'

そして私は、MySQLでこれを得た:

"{\"avg\":2,\"clean\":2,\"place\":1,\"keeper\":1}" 

をしかし、JSON配列を作成しても問題ありません。私の英語のための

[{"number":"+7 999 9999999","name":"Some name"},{"number":"8 111 1234567","name":"Body"}] 

申し訳ありませんが。助けてください!

更新:フルシーダコード

class ObjectTableSeeder extends Seeder { 

    public function run() 
    { 
     \App\Object::create([ 
      'category_id' => '2', 
      'owner_id' => '1', 
      'name' => 'Some name"', 
      'rating' => '{"avg":2,"clean":2,"place":1,"keeper":1}', 
      'phones' => '[{"number":"+7 999 9999999","name":"Some name"},{"number":"8 111 1234567","name":"Body"}]', 
      'status' => '1' 
    ]); 
    } 
} 
+0

あなたは私たちにあなたがこのデータを格納するために使用するいくつかのコードを表示したい配列にそれをデシリアライズします – RiggsFolly

+1

編集を使用して質問に追加しますか?誰もコメントのコードを読むことができないので – RiggsFolly

+0

申し訳ありませんが、完了しました... –

答えて

0

単にあなたにそのフィールドをキャストオブジェクトモデルでは、この

'rating' => ["avg" => 2, "clean" => 2, "place" => 1, "keeper" => 1] 

のような配列に

'rating' => '{"avg":2,"clean":2,"place":1,"keeper":1}' 

を変更配列この

protected $casts = [ 
    'rating' => 'array', 
]; 

ようなので、いつでもあなたはそれをシリアル化するデータベース・laravelに評価を保存すると、取得する際には、

+0

ありがとうございます!私はキャストを忘れていて、それは二重シリアル化を提供します。 –

+0

あなたはようこそ – oseintow

関連する問題