1. Go to this page and download the library: Download organi/translatables library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('code');
$table->timestamps();
});
Schema::create('products_translations', function (Blueprint $table) {
$table->translations('translations');
$table->string('name');
$table->text('description');
});
use Organi\Translatables\Traits\HasTranslations;
class Product extends Model
{
use HasTranslations;
/**
* The attributes that should be translatable.
*/
protected array $localizable = [
'name', 'description'
];
}
use Organi\Translatables\Models\Translation;
...
$product->name = Translation::make([
'nl' => 'Lorem ipsum dolor sit amet',
'en' => 'Lorem ipsum dolor sit amet',
'fr' => 'Lorem ipsum dolor sit amet',
]);
$product->name = [
'nl' => 'Lorem ipsum dolor sit amet',
'en' => 'Lorem ipsum dolor sit amet',
'fr' => 'Lorem ipsum dolor sit amet',
];
$product->name = 'Lorem ipsum dolor sit amet';
/* returns:
Organi\Translatables\Models\Translation {
translations: array:4 [
"nl" => "Lorem ipsum dolor sit amet"
"en" => ""
"fr" => ""
]
}
*/
$product->setTranslations('nl', [
'name' => 'Lorem ipsum dolor sit amet',
'description' => 'Lorem ipsum dolor sit amet',
]);
$product->setTranslation('nl', 'name', 'Lorem ipsum dolor sit amet');
$product->setAllLocales('title', 'Lorem ipsum dolor sit amet');