models->isEmpty()) { return; } // Preparing body for storing. $body = $this->models->map(function (Model $model) { $document = $this->seeder->toDocument($model); return [ ['index' => ['_index' => $this->index, '_id' => $document->id]], $document->toArray(), ]; }) ->flatten(1); $response = $client->bulk([ 'index' => $this->index, 'body' => $body->toArray(), 'refresh' => true, ]); if (Arr::get($response, 'errors') !== true) { return true; } $items = Arr::get($response, 'items'); $error = Arr::get(Arr::first($items), 'index.error.reason'); throw new SeedingException( "Failed to seed: $error", $items ); } }