未定义的数组键“default_language”

问题描述 投票:0回答:1

我在我的 Laravel 应用程序上遇到了这个问题,我正在尝试实现更改语言中间件,但我不断收到此错误未定义的数组键。 这是中间件片段

public function handle(Request $request, Closure $next): Response
    {
        $localeLanguage = \Session::get('languageChangeName');
        $defaultLanguage = getSuperAdminSettingValue()['default_language']->value;
        if (! isset($localeLanguage)) {
            if(!empty($defaultLanguage)){
                \App::setLocale($defaultLanguage);
                $defaultLanguage;
            }else{
                \App::setLocale('en');
            }
        } else {
            \App::setLocale($localeLanguage);
        }

        return $next($request);
    }
}
laravel middleware
1个回答
0
投票

发生该错误是因为 getSuperAdminSettingValue 方法返回的假定数组不包含“default_language”键作为数组中数据的一部分。我建议您将方法的响应分配给单独一行上的变量,然后添加它以检查返回的内容,然后再继续其余的实现。

$superAdminSettingValues = getSuperAdminSettingValue();
/* 
 * The line below is to be deleted before proceeding to the next line
 * after confirming the variable is not an empty array and has the 
 * default_language as part of its data
 */
dd($superAdminSettingValues); 
$defaultLanguage = $superAdminSettingValues['default_language']->value;
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.