Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ErrorException(E#u通知)试图获取属性';默认语言环境';非对象的。我似乎找不到这里的问题_Php_Mysql_Laravel_Vue.js_Composer Php - Fatal编程技术网

Php ErrorException(E#u通知)试图获取属性';默认语言环境';非对象的。我似乎找不到这里的问题

Php ErrorException(E#u通知)试图获取属性';默认语言环境';非对象的。我似乎找不到这里的问题,php,mysql,laravel,vue.js,composer-php,Php,Mysql,Laravel,Vue.js,Composer Php,它返回非对象是否可以替换?检查Webkul\Core\Contracts\Channel数据是否存在,以及config('app.Channel')validWebkul\Core\Contracts\Channel.php类是否为空。它可以包装成optional这样的optional(optional(Core()->getDefaultChannel())->default\u locale)->代码??config('app.fallback\u locale')我明白了,这是因为数据库中

它返回非对象

是否可以替换?检查
Webkul\Core\Contracts\Channel
数据是否存在,以及
config('app.Channel')
validWebkul\Core\Contracts\Channel.php类是否为空。它可以包装成
optional
这样的
optional(optional(Core()->getDefaultChannel())->default\u locale)->代码??config('app.fallback\u locale')
我明白了,这是因为数据库中不知道应该保存默认\u locale的列名,所以没有任何内容。如果无法读取列对象,有没有办法将其更改为null?或者绕过这个要求?这与MySQL、vue.js或Composer有什么关系?
<?php

namespace Webkul\Shop\Http\Middleware;

use Webkul\Core\Repositories\LocaleRepository;
use Closure;

class Locale
{
    /**
     * @var LocaleRepository
     */
    protected $locale;

    /**
     * @param \Webkul\Core\Repositories\LocaleRepository $locale
     */
    public function __construct(LocaleRepository $locale)
    {
        $this->locale = $locale;
    }

    /**
    * Handle an incoming request.
    *
    * @param  \Illuminate\Http\Request  $request
    * @param  \Closure  $next
    * @return mixed
    */
    public function handle($request, Closure $next)
    {
        $locale = request()->get('locale');

        if ($locale) {
            if ($this->locale->findOneByField('code', $locale)) {
                app()->setLocale($locale);

                session()->put('locale', $locale);
            }
        } else {
            if ($locale = session()->get('locale')) {
                app()->setLocale($locale);
            } else {
                app()->setLocale(core()->getDefaultChannel()->default_locale->code);
            }
        }

        unset($request['locale']);

        return $next($request);
    }
}
core()->getDefaultChannel()