FEATURE: add fields for languages

This commit is contained in:
Michal Kváček
2016-07-22 00:43:52 +02:00
parent 181e1fb721
commit 6021f1ea9a
3 changed files with 49 additions and 5 deletions
+9 -2
View File
@@ -12,7 +12,7 @@ class AddLanguage extends Command
*
* @var string
*/
protected $signature = 'language:add {code} {translation}';
protected $signature = 'language:add {code} {translation} {native} {script?}';
/**
* The console command description.
*
@@ -39,6 +39,8 @@ class AddLanguage extends Command
{
$code = $this->argument('code');
$translation = $this->argument('translation');
$native = $this->argument('native');
$script = $this->argument('script');
// check if language does not exist
$exist = Language::find($code);
@@ -48,7 +50,12 @@ class AddLanguage extends Command
return;
}
Language::create(['code' => $code, 'name' => $translation]);
Language::create([
'code' => $code,
'name' => $translation,
'native' => $native,
'script' => $script ? $script : 'Latn'
]);
$this->line('Successfully installed.');
}
+3 -3
View File
@@ -8,11 +8,11 @@ class Language extends Model
{
public $timestamps = false;
public $primaryKey = 'code';
protected $fillable = [
'code',
'name'
'name',
'script',
'native'
];
protected $guarded = [];
}
@@ -0,0 +1,37 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddFieldsIntoLanguages extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('languages', function (Blueprint $table) {
$table->string('script', 16)
->default('Latn')
->comment('ISO code for locale script (Latn, Arab, ...)');
$table->string('native')
->comment('Native name for language');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('languages', function (Blueprint $table) {
$table->dropColumn('script');
$table->dropColumn('native');
});
}
}