Модельные отношения не находят собственность - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь создать отношения между двумя моделями. Моя первая модель - модель пользователя, вторая - компания.

Я пытался добавить в модель User свойство hasMany ('App \ Comapny'), а в модели Company, принадлежит To ('App \ User').

// В пользовательской модели

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

// В компании Модель

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

// А в контроллере:

$user_id = auth()->user('id');
$user = User::find($user_id); 
return view('devices.show')->with('companies', $user->companies);

Он должен возвращать массив со всеми компаниями, которые есть у моего пользователя при использовании «$ user-> comapnies», однако вместо этого он возвращает следующее сообщение:

Свойство [companies] не существует в этом экземпляре коллекции.

Спасибо, любая помощь приветствуется

Ответы [ 2 ]

0 голосов
/ 28 мая 2019

Попробуйте это,

$user_id = auth()->user->id;
$user = User::with('companies')->where('id', $user_id)->first(); 
return view('devices.show', compact('user'));

Тогда вы можете получить доступ к отношениям компании с помощью $ user-> company [index] -> в представлении.

0 голосов
/ 25 мая 2019

Спасибо за быстрый ответ. Я понял, проблема была в этой строке:

$user_id = auth()->user('id');

Должно быть вместо

$user_id = auth()->user()->id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...