argument('file'); $data = file_get_contents($file); try { $json = json_decode($data, false, 8, JSON_THROW_ON_ERROR); } catch (\JsonException $ex) { $this->error("Json: " . $ex->getMessage()); return; } foreach ($json as $item) { $data = [ 'body' => $item->message, ]; if (isset($item->character)) { $character = Character::firstOrCreate(['name' => $item->character]); $data['character_id'] = $character->id; } if (isset($item->raid)) { $raid = Raid::firstOrCreate(['name' => $item->raid]); $data['raid_id'] = $raid->id; } if (isset($item->class)) { $data['class'] = Str::lower($item->class); } if (isset($item->role)) { $data['role'] = $item->role; } Card::insert($data); } } }