Попытка получить свойство необъекта, когда Json затравливает данные на laravel - PullRequest
0 голосов
/ 30 мая 2018

Я хочу заполнить данные JSON, используя сеялку в Laravel.когда я выполняю миграцию и посею команду php artisan migrate --seed, в командной строке появится следующее сообщение:

In PaymentTableSeeder.php line 19:

  Trying to get property 'identity' of non-object 

payment-gateway.json

 [  
   {  
      "identity":"Stripe",
      "config":{  
         "Publishable key":"",
         "Secret key":""
      },
      "status":0
   }
]

PaymentTableSeeder

<?php

use Illuminate\Database\Seeder;

class PaymentTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $json = File::get('database/data/payment-gateway.json');
        $data = json_decode($json, true);

        foreach($data as $obj){
            DB::table('payment_settings')->insert([
                'identity' => $obj->identity,
                'config' => $obj->config,
                'status' => $obj->status
            ]);
        }

    }
}

1 Ответ

0 голосов
/ 30 мая 2018
 $data = json_decode($json, true);

Второй параметр означает, что вы получите результат в виде ассоциированного массива.Удалите параметр или получите доступ к данным через

$obj['identity']

См. Документацию здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...