我一直在寻找这个问题的解决方案。我需要使用\App::setLocale('en')
访问较早在控制器函数中设置的当前应用程序语言环境。但是后来我无法使用app()-> getLocale()或App::isLocale('en')
或App::getLocale()
获取模型中的当前语言环境。
请查看以下订单模型中的代码:
public function getOrderDetailAttribute($value)
{
$new = [];
$arr = json_decode($value,true);
if(!empty($arr))
foreach($arr as $val)
{
$temp["id"] = $val["id"];
if(App::isLocale('en'))
$temp['itemName'] = $val["name"];
else
$temp['itemName'] = $val["name_ar"];
if(!empty($val["size"]))
$temp['size'] = $val["size"];
$temp['Qty'] = $val["quantity"];
$temp['price'] = $val["price"];
$temp['image'] = $val["p_img_url"];
$new[] = $temp;
unset($temp);
}
return $new;
}
请提出建议。
谢谢。