database - 使用 Laravel 进行多语言数据库管理

标签 database laravel laravel-4 multilingual eloquent

我正在使用 Laravel 中的后端创建一个应用程序。后端需要管理下载到应用程序的对象集合。对象必须根据设备语言进行本地化。

在 Laravel 中有没有一种简单的方法可以做到这一点?也许是 Eloquent 或 Laravel 插件?我想避免自己编写本地化支持。

(Laravel 内置的本地化只针对界面,不支持 Eloquent 对象)

最佳答案

你需要自己写。首先,您必须对数据库表进行建模以支持多语言内容,然后在您的模型中您将能够说出如下内容:

class Content extends Eloquent
{

   public function scopeEnglish($query)
   {
          return $query->where('language', '=', 'en');
   }

   public function scopeSpanish($query)
   {
      return $query->where('language', '=', 'es');
   }
}


class Post extends Eloquent
{
  public function content()
  { 
     return $this->hasMany('Content'); 
  }
}

然后你可以像这样使用它:

$englishContent = Posts::find($id)->content->english()->get();
$spanishContent = Posts::find($id)->content->spanish()->get();

关于database - 使用 Laravel 进行多语言数据库管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19088897/

相关文章:

database - Oracle 数据库统计应该多久运行一次?

database - 从 SQL 中检索 VB 中的数据

javascript - Select2 - 多个标签不起作用

php - 数据库结构 : Multiple tables with common ID

php - 以下场景的流畅查询

php - cURL 错误 35 : Unknown SSL protocol error in connection to api. mailgun

php - 有没有办法将MySQL数据库信息下载到SQLite

ruby-on-rails - 防止事件记录 INSERT 为 NULL?

laravel - Nova Filters - 过滤具有 belongsTo 关系的资源?

php - Laravel - 两次关联相同的数据透视表