Неопределенное свойство: Illuminate \ Database \ Eloquent \ Relations \ BelongsTo :: $ status.Отношения Laravel 5.5 - PullRequest
1 голос
/ 26 сентября 2019

Мы делаем проект Laravel для школ.У нас есть база данных для школ, и в ней есть такие пользователи, как учителя, сотрудники и т. Д.Моя проблема в том, как я могу запретить определенному пользователю из определенной школы входить в систему, где его статус школы отмечен = 0 или как неактивный в базе данных школ?Я уже получаю функцию authenticated от поставщика, но она не работает.Мои отношения не так?

Статус находится в таблице schools, а не в таблице users, но я уже определил отношения.Посмотрите на мои модели.

User.php

public function schools()
    {
        return $this->belongsTo('App\School', 'school_id');
    }

School.php

  public function user(){
        return $this->hasMany('App\User');
    }

LoginController.php


  use AuthenticatesUsers;
  public function authenticated(Request $request)
    {

        $user = User::find(Auth::user()->id);
            //  dd($user->schools());
            if($user->schools()->status == 1){

                dd('active ');

            }
                dd('inactive');

1 Ответ

1 голос
/ 26 сентября 2019

Вызовите свойство status в объекте, полученном из красноречивого отношения hasMany, а не в самом отношении

$user = User::find(Auth::user()->id);
if($user->schools->status === 1) {
     dd('active');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...