Php Laravel可翻译——”;对字符串";调用成员函数save();
(更新)我使用laravel可翻译包并尝试插入带有翻译的行。当试图保存时,它给出错误“调用字符串上的成员函数save()” 我使用键和值循环对象,如:Php Laravel可翻译——”;对字符串";调用成员函数save();,php,laravel,laravel-eloquent,laravel-translatable,Php,Laravel,Laravel Eloquent,Laravel Translatable,(更新)我使用laravel可翻译包并尝试插入带有翻译的行。当试图保存时,它给出错误“调用字符串上的成员函数save()” 我使用键和值循环对象,如:“food”:“Nourriture”, 在循环中,我选择了Translations表: $translationKey = \App\Translation::select('group', 'key')->where('group', 'global')->where('key', $key)->first(); 我并没有
“food”:“Nourriture”,
在循环中,我选择了Translations表:
$translationKey = \App\Translation::select('group', 'key')->where('group',
'global')->where('key', $key)->first();
我并没有完全按照文件的要求去做,这可能是:
$translationKey = \App\Translation::where('key', $key)->first();
不同之处在于我选择了“group”和“key”列,并额外添加了一个“where”来指定group=global。有什么不对劲吗
然后我尝试检查是否已经存在翻译。如果没有,我插入译文:
if($translationKey->hasTranslation('fr')) {
continue;
}else{
//insert
$translationRow = $translationKey->translateOrNew('fr')->$key = $value;
$translationRow->save();
}
我使用translateOrNew而不是translate,因为否则会出现错误:“从空值创建默认对象”
似乎我无法执行->save()
方法,因为它是一个字符串,而不是它应该是的模型实例。所以我猜这条线有问题吗
$translationKey = \App\Translation::select('group', 'key')->where('group',
'global')->where('key', $key)->first();
但问题是什么?我有一些错误-我需要选择整行而不是单个列:
$translationKey = \App\Translation::where('group', 'global')
->where('key', 'about_us')
->first();
保存翻译时出现了错误。My translations\u translations表有一个“value”列,因此这是有效的:
$translationKey->translateOrNew($locale)->value = $value;
$translationKey->save()
我有一些错误-我需要选择整行而不是单个列:
$translationKey = \App\Translation::where('group', 'global')
->where('key', 'about_us')
->first();
保存翻译时出现了错误。My translations\u translations表有一个“value”列,因此这是有效的:
$translationKey->translateOrNew($locale)->value = $value;
$translationKey->save()