Svetlana
Svetlana

Reputation: 161

Property not found in \Illuminate\Contracts\Auth\Authenticatable|nul

Hello I use laravel 8 and backpack 4.1. I get an error: Property not found in \Illuminate\Contracts\Auth\Authenticatable|null, I have user_id in the table 'tenants'. Has somebody an idea, why the variable $ccu is null.
User.php:

public static function getUser()
    {
      return Auth::guard('backpack')->user();
    }

    public function tenant(): BelongsTo
    {
        return $this->belongsTo(Tenant::class);
    }

Tenant.php:

vpublic function ccus(): HasMany
    {
        return $this->hasMany(Ccu::class);
    }

    public function users():hasMany
    {
        return $this->hasMany(User::class, 'user_id');
    }

DashboardUserController:

public function index()
    {
        if (backpack_user()->hasRole('admin')) {

            $this->data['title'] = trans('backpack::base.dashboard');
            $this->data['breadcrumbs'] = [
                trans('backpack::crud.admin') => backpack_url('dashboard'),
                trans('backpack::base.dashboard') => false,
            ];
            return view('dashboard', $this->data);
        } else {
            $user=User::getUser();
            $ccu = $user->tenant->ccus()->get();
            $ccuDiagram = new CcuDiagram($ccu);
            $dataForGauge = CcuDiagram::getData($ccu);
            $service = Service::find(1);
            return view('ccu', ["dataForGauge" => $dataForGauge, "service" => $service]);
        }
    }

Ccu.php

 public function tenant(): HasOne
    {
        return $this->hasOne(Tenant::Class);
    }

Upvotes: 1

Views: 698

Answers (0)

Related Questions