Я использую dimsav для многоязычного языка, и у меня есть эта проблема после выполнения шаг за шагом от guid. (dimsav)Laravel 5.2 многоязычный с dimsav/laravel-translatable
У меня есть модель Категория:
use Illuminate\Database\Eloquent\Model;
use Dimsav\Translatable\Translatable;
class Category extends Model {
use Translatable;
public $translatedAttributes = ['name'];
}
CategoryTranslation:
use Illuminate\Database\Eloquent\Model;
class CategoryTranslation extends Model {
public $timestamps = false;
}
И в контроллер, когда я пытаюсь сохранить это с определенным языком, я получаю сообщение об ошибке. Это мой контроллер:
$language = App::getLocale();
$user = Auth::user();
$category = new Category();
$category->translate('en')->name = Input::get('name'); //line 35
$category->save())
И ошибка:
at HandleExceptions->handleError('2', 'Creating default object from empty value', 'C:\workspace\applications\wamp\www\lutz-paletten\app\Http\Controllers\CategoryController.php', '35', array('language' => 'en', 'user' => object(User), 'category' => object(Category))) in CategoryController.php line 35
PS: это моя миграция:
Schema::create('categories', function (Blueprint $table) {
$table->increments('id');
$table->integer('categoryId');
$table->integer('user_id');
$table->timestamps();
});
Schema::create('category_translations', function (Blueprint $table) {
$table->increments('id');
$table->integer('category_id')->unsigned();
$table->string('name');
$table->string('locale')->index();
$table->unique(['category_id','locale']);
$table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
});
Что мне не хватает? Если я использую это, она работает:
$category->name = Input::get('name');
И он будет сохранен с тем, что устанавливается как AppLocale, но как я могу использовать его с translate()
?