1

プロジェクトでさまざまなユーザー タイプとそれぞれの権限をセットアップしようとしていますAppServiceProvider.phpが、エラーが発生します
explode() expects parameter 2 to be string, object given

私のコードのどこにも、explode()少なくとも私が見ることができるものはありません。を追加する前Inertia::share(function(){})は、そのようなエラーはありませんでした。

これは私のコードです:

public function register()
{

    Inertia::version(function () {
        return md5_file(public_path('mix-manifest.json'));
    });

    Inertia::share(function () {
       $auth = null;
       if (Auth::user()) {
           $perms = [];
           $user = Auth::user();

           if ($user->isSuperAdmin() || $user->isAdmin()) {
               $perms = [
                   [
                       'url' => '/',
                       'icon' => 'fa fa-home',
                       'name' => 'Dashboard'
                   ],
                   [
                       //rest of permissions
                   ],
               ];
           }
           if ($user->isUser()) {
               $perms = [
                   [
                       'url' => '/',
                       'icon' => 'fa fa-home',
                       'name' => 'Dashboard'
                   ],
                   [
                       //rest of permissions
                   ],
               ];
           }

           $auth = [
               'id' => Auth::user()->id,
               'name' => Auth::user()->name,
               'card' => Auth::user()->card,
               'scard' => Auth::user()->scard,
               'user_type_id' => Auth::user()->user_type_id,
               'email' => Auth::user()->email,
               'perms' => $perms
           ];
       }
       return [
           'app' => [
               'name' => Config::get('app.name'),
           ],
           'auth' => [
               'user' => $auth,
           ],
           'flash' => [
               'success' => Session::get('success'),
           ],
           'errors' => Session::get('errors') ? Session::get('errors')->getBag('default')->getMessages() : (object)[],
    ]
});

私は何を間違っていますか?エラーが発生している場所では、エラーの場所は特定されませんが、それが何であるかは指定されていません。エラーの場所として提示したコードの最後の行を示していますが、そこにあるのは閉じ括弧と括弧だけです。

4

1 に答える 1