argument('lang')); $langFamily = explode('-',$lang)[0]; $localTerm = ChannelApi::getSysChannel( "_community_term_{$lang}_", "_community_term_en_" ); if(!$localTerm){ return 1; } $table = DhammaTerm::select('word')->whereIn('language',[$this->argument('lang'),$lang,$langFamily]) ->groupBy('word'); $words = $table->get(); $bar = $this->output->createProgressBar(count($words)); foreach ($words as $key => $word) { $best = DhammaTerm::selectRaw('meaning,count(*) as co') ->where('word',$word->word) ->whereIn('language',[$this->argument('lang'),$lang,$langFamily]) ->groupBy('meaning') ->orderBy('co','desc') ->first(); if($best){ $term = DhammaTerm::where('channal',$localTerm)->firstOrNew( [ "word" => $word->word, "channal" => $localTerm, ], [ 'id' =>app('snowflake')->id(), 'guid' =>Str::uuid(), 'word_en' =>Tools::getWordEn($word->word), 'meaning' => '', 'language' => $this->argument('lang'), 'owner' => config("app.admin.root_uuid"), 'editor_id' => 0, 'create_time' => time()*1000, ] ); $term->meaning = $best->meaning; $term->modify_time = time()*1000; $term->save(); } $bar->advance(); } $bar->finish(); return 0; } }