public function run()
 {
     $categories = [['product', ['pt' => 'rodas', 'en' => 'wheels', 'es' => 'ruedas'], 0], ['product', ['pt' => 'estrada', 'en' => 'road', 'es' => 'carretera'], 1], ['news', ['pt' => 'geral', 'en' => 'main', 'es' => 'general'], 0], ['spec', ['pt' => 'tecnologias', 'en' => 'technologies', 'es' => 'tecnologias'], 0]];
     foreach ($categories as $category) {
         $c = new Category();
         $c->parent_id = $category[2];
         $c->type = $category[0];
         $c->save();
         foreach ($category[1] as $lang => $value) {
             $lang_id = Lang::whereIso($lang)->first()->id;
             $t = new Translation();
             $t->lang_id = $lang_id;
             $t->table = 'categories';
             $t->table_id = $c->id;
             $t->value = $value;
             $t->save();
         }
     }
 }
 /**
  * Create a new category
  *
  * @param $type
  * @param $names
  * @param $parent_id
  * @return mixed
  */
 public function create($type, $names, $parent_id)
 {
     //procurar todas as categorias com o mesmo parent_id e o mesmo tipo
     $categories = Category::where('type', $type)->where('parent_id', $parent_id)->get();
     if (!$categories->isEmpty()) {
         //se o resultado não for null
         foreach ($categories as $category) {
             $translations = $this->translationRepositoryInterface->get('categories', $category->id);
             foreach ($translations as $translation) {
                 //precorrer a lista de categorias e verificar a tradução de cada uma delas
                 //se a tradução for igual para uma delas PARA
                 if (in_array($translation->value, $names)) {
                     return false;
                 }
             }
         }
     }
     //se a tradução for diferente para todas adiciona-se a categoria e a tradução
     //cria a categoria
     $category = null;
     try {
         $category = new Category();
         $category->type = $type;
         $category->parent_id = $parent_id;
         $category->save();
         //cria as traduções
         foreach ($names as $iso => $name) {
             $lang = Lang::whereIso($iso)->first();
             $this->translationRepositoryInterface->create($lang->id, 'categories', $category->id, strtolower($name));
         }
     } catch (\Exception $e) {
         if (!is_null($category) && $category->exists) {
             $this->delete($category->id);
         }
         return false;
     }
     return true;
 }