Ich benutze Dimsav für mehrsprachige und ich habe dieses Problem nach Schritt für Schritt aus der Guid. (dimsav)Laravel 5.2 multilanguage mit dimsav/laravel-übersetzbar
Ich habe ein Modell Kategorie:
use Illuminate\Database\Eloquent\Model;
use Dimsav\Translatable\Translatable;
class Category extends Model {
use Translatable;
public $translatedAttributes = ['name'];
}
A CategoryTranslation:
use Illuminate\Database\Eloquent\Model;
class CategoryTranslation extends Model {
public $timestamps = false;
}
Und in-Controller, wenn ich versuche das ich einen Fehler mit einer bestimmten Sprache zu speichern. Das ist mein Controller:
$language = App::getLocale();
$user = Auth::user();
$category = new Category();
$category->translate('en')->name = Input::get('name'); //line 35
$category->save())
Und Fehler:
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: Das ist meine Migration:
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');
});
Was bin ich? Wenn ich diese verwenden, funktioniert es:
$category->name = Input::get('name');
Und es wird mit gespeichert werden, was als AppLocale gesetzt ist, aber wie kann ich es mit translate()
?