问题
in database i have this:
name_en | name_fr
When the user select french language - for example - i want to get name_fr
field, and the same thing if he chose another language
回答1:
Assuming you set locale in your application using:
App::setLocale($lang);
if you use Eloquent, you can add to your model class accesssor:
public function getNameAttribute($value) {
return $this->{'name_'.App::getLocale()};
}
and also mutator:
public function setNameAttribute($value) {
$this->{'name_'.App::getLocale()} = $value;
}
Assuming you added those functions to Content
model you can now use:
$content = Content::first(); // find first article
echo $content->name; // displaying its name
$content->name = 'updated content'; // changing its name
$content->save(); // saving
This will cause displaying and changing name_{$lang}
if you set lang using setLocale
来源:https://stackoverflow.com/questions/26036955/displaying-database-columns-based-on-current-language