From 5cc89e8bcc06402ef879453ad46b4bff230c1854 Mon Sep 17 00:00:00 2001 From: tbanov Date: Fri, 2 Oct 2015 14:01:36 +0300 Subject: [PATCH 01/12] Change publishes path --- src/LaravelDbLocalizationServiceProvider.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/LaravelDbLocalizationServiceProvider.php b/src/LaravelDbLocalizationServiceProvider.php index a71a5ee..4ebb6e5 100755 --- a/src/LaravelDbLocalizationServiceProvider.php +++ b/src/LaravelDbLocalizationServiceProvider.php @@ -21,11 +21,11 @@ public function register() public function boot() { $this->publishes([ - __DIR__.'/src/config/laravel-db-localization.php' => config_path('laravel-db-localization.php'), + __DIR__.'/config/laravel-db-localization.php' => config_path('laravel-db-localization.php'), ], 'config'); $this->publishes([ - __DIR__.'/src/migrations/' => base_path('/database/migrations'), + __DIR__.'/migrations/' => base_path('/database/migrations'), ], 'migrations'); } } From 8ec1fc6a645ea002aaabfcd92100ef540d3f9c85 Mon Sep 17 00:00:00 2001 From: tbanov Date: Tue, 3 Nov 2015 11:00:36 +0200 Subject: [PATCH 02/12] [Convenience Issue 2.0.1] Trying to access attribute of object null, fix config publishing, update readme --- README.md | 40 +++++++------------- src/LaravelDbLocalizationServiceProvider.php | 5 +++ src/i18nModelTrait.php | 21 ++++++++-- 3 files changed, 37 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index b27114b..f03cf6b 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,24 @@ -# Laravel DB Localization +# Laravel DB Localization for laravel 5.1 ## Installation Open `composer.json` file of your project and add the following to the require array: ```json -"despark/laravel-db-localization": "1.2.*" +"despark/laravel-db-localization": "2.0.*" ``` Now run `composer update` to install the new requirement. -Once it's installed, you need to register the service provider in `app/config/app.php` in the providers array: +Once it's installed, you need to register the service provider in `config/app.php` in the providers array: ```php 'providers' => array( ... - 'Despark\LaravelDbLocalization\LaravelDbLocalizationServiceProvider', + Despark\LaravelDbLocalization\LaravelDbLocalizationServiceProvider::class, ); ``` Publish the config file: -`php artisan config:publish despark/laravel-db-localization` +`php artisan vendor:publish --provider="Despark\LaravelDbLocalization\LaravelDbLocalizationServiceProvider" --tag="config"` # How to use it @@ -68,9 +68,12 @@ Schema::create('contacts_i18n', function (Blueprint $table) { ``` ## Model Example ```php + +use Despark\LaravelDbLocalization\i18nModelTrait; + class Contacts extends Eloquent { - use Despark\LaravelDbLocalization\i18nModelTrait; // You must use i18nModelTrait + use i18nModelTrait; // You must use i18nModelTrait protected $fillable = [ 'fax', @@ -89,20 +92,18 @@ class Contacts extends Eloquent class ContactsI18n extends Eloquent { protected $table = 'contacts_i18n'; - - protected $fillable = ['contact_id', 'i18n_id', 'name', 'location']; } ``` ## View example Create ```php -{{ Form::text("fax", null) }} -{{ Form::text("phone", null) }} +{!! Form::text("fax", null) !!} +{!! Form::text("phone", null) !!} @foreach($languages as $language) - {{ Form::text("name[name_$language->id]", null) }} // Follow this convention array( fieldname_languageId ); - {{ Form::text("location[location_$language->id]", null) }} + {!! Form::text("name[name_$language->id]", null) !!} // Follow this convention array( fieldname_languageId ); + {!! Form::text("location[location_$language->id]", null) !!} @endforeach ``` Retrieve @@ -117,23 +118,10 @@ Retrieve $contacts->translate($i18nId)->location; // specific field ``` - ## Config Example ```php -app/config/packages/despark/laravel-db-localization/config.php +config/laravel-db-localization.php 'locale_class' => 'Despark\LaravelDbLocalization\I18n', ``` -## If you want to checkout our example you need to follow this commands: - -Execute migrations with the following command -`php artisan migrate --package="despark/laravel-db-localization"` - -This will create tables `i18n`, `contacts`, `contacts_i18n`. - -Now you must seed `i18n` table: -`php artisan db:seed --class="Despark\LaravelDbLocalization\DatabaseSeeder"` - -Now you can check how it works: - http://yourdomain.name/localization_example/ diff --git a/src/LaravelDbLocalizationServiceProvider.php b/src/LaravelDbLocalizationServiceProvider.php index 4ebb6e5..5f38d15 100755 --- a/src/LaravelDbLocalizationServiceProvider.php +++ b/src/LaravelDbLocalizationServiceProvider.php @@ -14,16 +14,21 @@ public function register() $this->app->bind('laravel-db-localization', function ($app) { return new LaravelDbLocalization(); }); + + // Load the config file + $this->mergeConfigFrom(__DIR__.'/config/laravel-db-localization.php', 'laravel-db-localization'); } /** * Bootstrap the application events. */ public function boot() { + // publish config $this->publishes([ __DIR__.'/config/laravel-db-localization.php' => config_path('laravel-db-localization.php'), ], 'config'); + // publish migrations $this->publishes([ __DIR__.'/migrations/' => base_path('/database/migrations'), ], 'migrations'); diff --git a/src/i18nModelTrait.php b/src/i18nModelTrait.php index b7b3e34..c48f91a 100755 --- a/src/i18nModelTrait.php +++ b/src/i18nModelTrait.php @@ -2,8 +2,6 @@ namespace Despark\LaravelDbLocalization; -use Illuminate\Support\Facades\Config; - trait i18nModelTrait { /** @@ -76,7 +74,8 @@ public function getI18nId($locale = null) if (!$locale) { $locale = \App::getLocale(); } - $localeModel = Config::get('laravel-db-localization::locale_class'); + + $localeModel = config('laravel-db-localization.locale_class'); $i18n = $localeModel::select('id')->where('locale', $locale)->first(); $i18nId = null; @@ -105,6 +104,10 @@ public function translate($locale = false, $alowRevision = false) if (isset($this->id) && $locale) { $translation = $translationModel::where($this->translatorField, $this->id) ->where($this->localeField, $locale)->first(); + + if (!$translation) { + $translation = $translationModel; + } } if ($alowRevision == true) { @@ -234,4 +237,16 @@ public function saveTranslations($translatableId, $options) } } } + + public function getTranslatedNoIdAttributes() + { + $array = []; + foreach ($this->translatedAttributes as $attr) { + if (strpos($attr, '_id') === false) { + array_push($array, $attr); + } + } + + return $array; + } } From d000bf27aa4e4707a904fe0640c1b6fae9b48298 Mon Sep 17 00:00:00 2001 From: tbanov Date: Tue, 3 Nov 2015 11:32:18 +0200 Subject: [PATCH 03/12] Update readme --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f03cf6b..811c6a4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Laravel DB Localization for laravel 5.1 +*Note: if you are looking for the version for Laravel 4.2 check out [v1 branch](https://github.com/despark/laravel-db-localization/tree/v1).* + ## Installation Open `composer.json` file of your project and add the following to the require array: From 50eddbffdf2f0b91a073651d83095617f4ea0f57 Mon Sep 17 00:00:00 2001 From: tbanov Date: Tue, 3 Nov 2015 11:36:34 +0200 Subject: [PATCH 04/12] Update readme --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 811c6a4..b7b15ec 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,12 @@ Once it's installed, you need to register the service provider in `config/app.ph ); ``` -Publish the config file: +Publish config file: `php artisan vendor:publish --provider="Despark\LaravelDbLocalization\LaravelDbLocalizationServiceProvider" --tag="config"` +Publish migrations: +`php artisan vendor:publish --provider="Despark\LaravelDbLocalization\LaravelDbLocalizationServiceProvider" --tag="migrations"` + # How to use it From 816a52ec83aa84023a9c8b3f66f5a51050fd4926 Mon Sep 17 00:00:00 2001 From: tbanov Date: Tue, 3 Nov 2015 11:51:22 +0200 Subject: [PATCH 05/12] Update readme --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b7b15ec..5e36f62 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Laravel DB Localization for laravel 5.1 +# Laravel DB Localization for version 5.1 *Note: if you are looking for the version for Laravel 4.2 check out [v1 branch](https://github.com/despark/laravel-db-localization/tree/v1).* @@ -67,7 +67,7 @@ Schema::create('contacts_i18n', function (Blueprint $table) { $table->string('location', 100); $table->unique(['contact_id', 'i18n_id']); - $table->primary(array('contact_id', 'i18n_id')); + $table->primary(['contact_id', 'i18n_id']); $table->timestamps(); }); ``` @@ -126,7 +126,7 @@ Retrieve ## Config Example ```php config/laravel-db-localization.php - 'locale_class' => 'Despark\LaravelDbLocalization\I18n', + 'locale_class' => 'Despark\LaravelDbLocalization\I18n', // Eloquent model that handles your languages. ``` From a66ded2969e7a89562f1545a40294a39c7e180cf Mon Sep 17 00:00:00 2001 From: Alexander Stoimenov Date: Wed, 13 Jul 2016 14:23:32 +0300 Subject: [PATCH 06/12] Changes for working with laravel 5.2 --- composer.json | 20 +++++++++---------- src/i18nModelTrait.php | 8 ++++---- .../2015_04_28_100423_create_i18n_table.php | 2 ++ src/models/I18n.php | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/composer.json b/composer.json index 51c49ee..027e861 100755 --- a/composer.json +++ b/composer.json @@ -3,18 +3,16 @@ "description": "Database localization package for laravel framework", "keywords": ["framework", "laravel", "despark", "localization", "database"], "license": "MIT", - "authors": [ - { - "name": "Tihomir Banov", - "email": "tbanov@despark.com" - } - ], + "authors": [{ + "name": "Tihomir Banov", + "email": "tbanov@despark.com" + }], "require": { "php": ">=5.4.0", - "illuminate/auth": "5.1.*", - "illuminate/support": "5.1.*", - "illuminate/routing": "5.1.*", - "illuminate/database": "5.1.*" + "illuminate/auth": "^5.1", + "illuminate/support": "^5.1", + "illuminate/routing": "^5.1", + "illuminate/database": "^5.1" }, "autoload": { "psr-4": { @@ -22,4 +20,4 @@ } }, "minimum-stability": "stable" -} \ No newline at end of file +} diff --git a/src/i18nModelTrait.php b/src/i18nModelTrait.php index c48f91a..4c08f50 100755 --- a/src/i18nModelTrait.php +++ b/src/i18nModelTrait.php @@ -95,7 +95,7 @@ public function getI18nId($locale = null) public function translate($locale = false, $alowRevision = false) { $translation = null; - $translationModel = new $this->translator(); + $translationModel = new $this->translator(); if (!is_int($locale)) { $locale = $this->getI18nId($locale); @@ -133,7 +133,7 @@ public function scopeWithTranslations($query, $locale = null, $softDelete = null $translatorField = $this->getTranslatorField(); $localeField = $this->getLocaleField(); - if (! $locale) { + if (!$locale) { $query = $query->leftJoin( $translatorTableName, $translatorTableName.'.'.$translatorField, '=', $translatableTable.'.id'); @@ -170,7 +170,7 @@ public function scopeWithTranslations($query, $locale = null, $softDelete = null public function save(array $options = []) { if (empty($options)) { - $options = \Input::all(); + $options = \Request::all(); } parent::save($options); @@ -225,7 +225,7 @@ public function saveTranslations($translatableId, $options) $result = $query->first(); if (!isset($result->id)) { - if (! isset($translation->id)) { + if (!isset($translation->id)) { $translation = new $modelName(); } diff --git a/src/migrations/2015_04_28_100423_create_i18n_table.php b/src/migrations/2015_04_28_100423_create_i18n_table.php index 325bb77..714b610 100755 --- a/src/migrations/2015_04_28_100423_create_i18n_table.php +++ b/src/migrations/2015_04_28_100423_create_i18n_table.php @@ -12,8 +12,10 @@ public function up() { Schema::create('i18n', function (Blueprint $table) { $table->increments('id'); + $table->string('locale')->unique()->index(); $table->string('name')->index(); + $table->timestamps(); }); } diff --git a/src/models/I18n.php b/src/models/I18n.php index 275eb05..36163da 100755 --- a/src/models/I18n.php +++ b/src/models/I18n.php @@ -15,6 +15,6 @@ class I18n extends Eloquent protected $rules = [ 'locale' => 'required', - 'name' => 'required', + 'name' => 'required', ]; } From b16f8fc8359e994a54ccc262c6cc6d77aa5b5c99 Mon Sep 17 00:00:00 2001 From: Alexander Stoimenov Date: Wed, 13 Jul 2016 14:27:37 +0300 Subject: [PATCH 07/12] Checking in changes prior to tagging of version 0.0.1. --- composer.json | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/composer.json b/composer.json index 027e861..20bd62a 100755 --- a/composer.json +++ b/composer.json @@ -1,12 +1,20 @@ { "name": "despark/laravel-db-localization", "description": "Database localization package for laravel framework", - "keywords": ["framework", "laravel", "despark", "localization", "database"], + "keywords": [ + "framework", + "laravel", + "despark", + "localization", + "database" + ], "license": "MIT", - "authors": [{ - "name": "Tihomir Banov", - "email": "tbanov@despark.com" - }], + "authors": [ + { + "name": "Tihomir Banov", + "email": "tbanov@despark.com" + } + ], "require": { "php": ">=5.4.0", "illuminate/auth": "^5.1", @@ -14,10 +22,14 @@ "illuminate/routing": "^5.1", "illuminate/database": "^5.1" }, + "require-dev": { + "corneltek/phprelease": "^1.3" + }, "autoload": { "psr-4": { "Despark\\LaravelDbLocalization\\": "src/" } }, - "minimum-stability": "stable" -} + "minimum-stability": "stable", + "version": "0.0.1" +} \ No newline at end of file From c4df0d66854540a81f744942526d5f7e34e4844a Mon Sep 17 00:00:00 2001 From: Alexander Stoimenov Date: Fri, 2 Dec 2016 14:12:52 +0200 Subject: [PATCH 08/12] Use observer and fix change detection --- composer.json | 19 +++---- src/LocalizationObserver.php | 19 +++++++ src/config/laravel-db-localization.php | 6 +-- src/i18nModelTrait.php | 70 +++++++++----------------- src/seeds/DatabaseSeeder.php | 4 +- 5 files changed, 55 insertions(+), 63 deletions(-) create mode 100644 src/LocalizationObserver.php diff --git a/composer.json b/composer.json index 20bd62a..db67fc3 100755 --- a/composer.json +++ b/composer.json @@ -8,15 +8,13 @@ "localization", "database" ], - "license": "MIT", - "authors": [ - { - "name": "Tihomir Banov", - "email": "tbanov@despark.com" - } - ], + "license": "GPL-3.0", + "authors": [{ + "name": "Tihomir Banov", + "email": "tbanov@despark.com" + }], "require": { - "php": ">=5.4.0", + "php": ">=5.5.0", "illuminate/auth": "^5.1", "illuminate/support": "^5.1", "illuminate/routing": "^5.1", @@ -30,6 +28,5 @@ "Despark\\LaravelDbLocalization\\": "src/" } }, - "minimum-stability": "stable", - "version": "0.0.1" -} \ No newline at end of file + "minimum-stability": "stable" +} diff --git a/src/LocalizationObserver.php b/src/LocalizationObserver.php new file mode 100644 index 0000000..8155466 --- /dev/null +++ b/src/LocalizationObserver.php @@ -0,0 +1,19 @@ +saveTranslations($model->id); + } +} diff --git a/src/config/laravel-db-localization.php b/src/config/laravel-db-localization.php index b50e144..66209bf 100644 --- a/src/config/laravel-db-localization.php +++ b/src/config/laravel-db-localization.php @@ -1,6 +1,6 @@ 'Despark\LaravelDbLocalization\I18n', -); + 'locale_class' => \Despark\LaravelDbLocalization\I18n::class, +]; diff --git a/src/i18nModelTrait.php b/src/i18nModelTrait.php index 4c08f50..9417e45 100755 --- a/src/i18nModelTrait.php +++ b/src/i18nModelTrait.php @@ -76,7 +76,7 @@ public function getI18nId($locale = null) } $localeModel = config('laravel-db-localization.locale_class'); - $i18n = $localeModel::select('id')->where('locale', $locale)->first(); + $i18n = app($localeModel)->select('id')->where('locale', $locale)->first(); $i18nId = null; @@ -92,10 +92,10 @@ public function getI18nId($locale = null) * * @param false $locale */ - public function translate($locale = false, $alowRevision = false) + public function translate($locale = null, $alowRevision = false) { $translation = null; - $translationModel = new $this->translator(); + $translationModel = app($this->translator); if (!is_int($locale)) { $locale = $this->getI18nId($locale); @@ -126,7 +126,7 @@ public function scopeWithTranslations($query, $locale = null, $softDelete = null // get i18n id by locale $i18nId = $this->getI18nId($locale); - $translatorTable = new $this->translator(); + $translatorTable = app($this->translator); $translatorTableName = $translatorTable->getTable(); $translatableTable = $this->getTable(); @@ -163,45 +163,30 @@ public function scopeWithTranslations($query, $locale = null, $softDelete = null } /** - * Save record. - * - * @param array $options + * Boot the trait. */ - public function save(array $options = []) + public static function bootI18nModelTrait() { - if (empty($options)) { - $options = \Request::all(); - } - - parent::save($options); - - $this->saveTranslations($this->id, $options); - - return $this; + static::observe(LocalizationObserver::class); } /** * Insert translation values. * * @param array translatable Id - * @param array $options */ - public function saveTranslations($translatableId, $options) + public function saveTranslations($translatableId) { $translationsArray = []; - $explode = []; - - $fillables = $this->translatedAttributes; - foreach ($options as $input) { + foreach (\Request::all() as $input) { if (is_array($input)) { foreach ($input as $i18n => $i18nValue) { - $explode = explode('_', $i18n); - $i18nId = array_last($explode, function ($first, $last) { - return $last; - }); + $i18nId = array_last(explode('_', $i18n), function ($first, $last) { + return $last; + }); $filedName = str_replace('_'.$i18nId, '', $i18n); - if (in_array($filedName, $fillables)) { + if (in_array($filedName, $this->translatedAttributes)) { $translationsArray[$i18nId][$filedName] = $i18nValue; $translationsArray[$i18nId][$this->localeField] = $i18nId; $translationsArray[$i18nId][$this->translatorField] = $translatableId; @@ -210,31 +195,22 @@ public function saveTranslations($translatableId, $options) } } - $modelName = $this->translator; - foreach ($translationsArray as $translationValues) { - $translation = $modelName::where($this->translatorField, array_get($translationValues, $this->translatorField)) - ->where($this->localeField, array_get($translationValues, $this->localeField)) + $translatorId = array_get($translationValues, $this->translatorField); + $localeId = array_get($translationValues, $this->localeField); + + $translation = $this->translator::where($this->translatorField, $translatorId) + ->where($this->localeField, $localeId) ->first(); - // check if translation exists with same values - $query = $modelName::select('id'); - foreach ($translationValues as $key => $val) { - $query->where($key, $val); + if (!$translation) { + $translation = app($this->translator); } - $result = $query->first(); - - if (!isset($result->id)) { - if (!isset($translation->id)) { - $translation = new $modelName(); - } - foreach ($translationValues as $key => $val) { - $translation->$key = $val; - } + $translation->fillable = array_keys($translationValues); - $translation->save(); - } + $translation->fill($translationValues); + $translation->save(); } } diff --git a/src/seeds/DatabaseSeeder.php b/src/seeds/DatabaseSeeder.php index a00c8be..62b763e 100755 --- a/src/seeds/DatabaseSeeder.php +++ b/src/seeds/DatabaseSeeder.php @@ -10,12 +10,12 @@ class DatabaseSeeder extends \Seeder public function run() { \DB::table('i18n')->insert([ - 'name' => 'English', + 'name' => 'English', 'locale' => 'en', ]); \DB::table('i18n')->insert([ - 'name' => 'Български', + 'name' => 'Български', 'locale' => 'bg', ]); } From 5fb3b1e36d6bfd39562cb105a45bbbab8c23a381 Mon Sep 17 00:00:00 2001 From: Alexander Stoimenov Date: Thu, 15 Dec 2016 11:27:20 +0200 Subject: [PATCH 09/12] Update i18nModelTrait.php --- src/i18nModelTrait.php | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/i18nModelTrait.php b/src/i18nModelTrait.php index 9417e45..f5e2099 100755 --- a/src/i18nModelTrait.php +++ b/src/i18nModelTrait.php @@ -94,26 +94,22 @@ public function getI18nId($locale = null) */ public function translate($locale = null, $alowRevision = false) { - $translation = null; - $translationModel = app($this->translator); - if (!is_int($locale)) { $locale = $this->getI18nId($locale); } + $translation = null; if (isset($this->id) && $locale) { - $translation = $translationModel::where($this->translatorField, $this->id) - ->where($this->localeField, $locale)->first(); - - if (!$translation) { - $translation = $translationModel; - } + $localeField = $this->getLocaleField(); + $translation = $this->translations->filter(function ($item) use ($locale, $localeField) { + return $item->{$localeField} === $locale; + })->first(); } if ($alowRevision == true) { if (isset($translation->show_revision)) { if ($translation->show_revision == 1) { - $translation = $translation->setAttributeNames(unserialize($translation->revision)); + $this->translation = $translation->setAttributeNames(unserialize($translation->revision)); } } } @@ -199,7 +195,7 @@ public function saveTranslations($translatableId) $translatorId = array_get($translationValues, $this->translatorField); $localeId = array_get($translationValues, $this->localeField); - $translation = $this->translator::where($this->translatorField, $translatorId) + $translation = $this->translator->where($this->translatorField, $translatorId) ->where($this->localeField, $localeId) ->first(); From 6607fb107df72822a7ccdf2e56a7f99dd407b33b Mon Sep 17 00:00:00 2001 From: Alexander Stoimenov Date: Wed, 4 Jan 2017 13:45:45 +0200 Subject: [PATCH 10/12] Update i18nModelTrait.php --- src/i18nModelTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18nModelTrait.php b/src/i18nModelTrait.php index f5e2099..5580579 100755 --- a/src/i18nModelTrait.php +++ b/src/i18nModelTrait.php @@ -195,7 +195,7 @@ public function saveTranslations($translatableId) $translatorId = array_get($translationValues, $this->translatorField); $localeId = array_get($translationValues, $this->localeField); - $translation = $this->translator->where($this->translatorField, $translatorId) + $translation = app($this->translator)->where($this->translatorField, $translatorId) ->where($this->localeField, $localeId) ->first(); From c9bf8a9082904cc1bdd6e72a661707609a81d56c Mon Sep 17 00:00:00 2001 From: Alexander Stoimenov Date: Thu, 12 Jan 2017 12:03:29 +0200 Subject: [PATCH 11/12] Fix translations relation --- src/i18nModelTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18nModelTrait.php b/src/i18nModelTrait.php index 5580579..5368077 100755 --- a/src/i18nModelTrait.php +++ b/src/i18nModelTrait.php @@ -16,7 +16,7 @@ trait i18nModelTrait */ public function translations() { - return $this->hasMany($this->translator); + return $this->hasMany($this->translator, $this->translatorField, $this->localeField); } /** From 4d396c4122f4558d13a020ac9d53a9d3b5489db0 Mon Sep 17 00:00:00 2001 From: Alexander Stoimenov Date: Mon, 16 Jan 2017 09:48:49 +0200 Subject: [PATCH 12/12] Update i18nModelTrait.php --- src/i18nModelTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18nModelTrait.php b/src/i18nModelTrait.php index 5368077..454f952 100755 --- a/src/i18nModelTrait.php +++ b/src/i18nModelTrait.php @@ -16,7 +16,7 @@ trait i18nModelTrait */ public function translations() { - return $this->hasMany($this->translator, $this->translatorField, $this->localeField); + return $this->hasMany($this->translator, $this->translatorField); } /**