Laravel 5.2: как получить доступ к данным от ownTo ()?

У меня возникли некоторые проблемы с проектом Laravel 5.2, который, кстати, первый с этим фреймворком, так что я новичок.

Дело в том, что я определил отношения между этими двумя таблицами «поставщик» и «менеджер», чтобы менеджер мог управлять одним поставщиком, а поставщик — одним менеджером.

Модели:

Менеджер класса

public function suppliers(){
return $this->hasMany('App\Supplier','id');
}

///////

Класс поставщика

public function manager(){
return $this->belongsTo('App\Manager','id');
}

Хорошо. Итак, из того, что я прочитал до сих пор, доступ к шаблону блейда к данным менеджера, встроенным в поставщика, должен быть таким простым:

$supplier->manager->name

Но то, что я действительно получаю, это ошибка, которая говорит

Попытка получить свойство необъекта

Что мне здесь не хватает?

0

Решение

Хорошо. Теперь я чувствую себя глупо.

Все, что нужно, это правильно определить ключ поиска, который, конечно, я делал неправильно.
Я внимательно проверил свое определение внешнего ключа в таблице поставщиков и понял, что поле id отсутствует. Вместо этого у меня есть поле с именем ‘manager_id’, поэтому все, что нужно, это изменить это:

public function manager(){
return $this->belongsTo('App\Manager','id');
}

к этому:

public function manager(){
return $this->belongsTo('App\Manager','manager_id');
}

И это все. Наконец-то я могу получить доступ ко всем встроенным данным менеджера через поставщика. Извините за мою глупую ошибку. Спасибо вам всем.

3

Другие решения

Других решений пока нет …