标题很清楚。
我希望我的用户在Laravel中添加自定义行。显然,他们不应该打开messages.php
文件并对其进行编辑:')
想象一下,用户想要创建一个类别。但他们想用几种语言命名该类别。
我可以在Laravel中这样做吗?如果不是最好的方式?
答案 0 :(得分:1)
所以你需要的是你的分类模型可以翻译,你希望它有多个翻译。
解决此问题的常用方法是将要翻译的数据移动到自己的表中;然后引用翻译所属的模型。
以下包:Laravel Translatable解释得非常好,有几个很好的例子。
下面我更改了迁移示例以满足您的需求。它应该让您大致了解如何解决此问题。
Schema::create('category', function(Blueprint $table)
{
$table->increments('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');
});
此外,您可以在Freek Van der Herten找到一篇非常好的文章来解释How to add multilingual support to eloquent