В Laravel 5.6 я пытаюсь загрузить данные в пользовательский объект, поэтому я могу просматривать учетные данные/настройки пользователя и т. д.
Что раздражает, так это то, что у меня он работал, но по какой-то причине он, кажется, остановился, и я не уверен, что я изменил, чтобы сломать его.
В любом случае я хочу загрузить две таблицы, access
и settings
. У них обоих есть поле user_id
с соответствующим полем user_id
.
В моем классе User.php
у меня есть две функции:
public function access() {
return $this->hasMany(Access::class);
}
public function settings() {
return $this->hasOne(Settings::class);
}
Я не Use
помещаю их в верхнюю часть класса (т.е. use \App\Access
), если это имеет значение.
И тогда класс доступа выглядит так:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Access extends Model
{
protected $table = "access";
}
И класс Settings очень похож:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Settings extends Model
{
protected $table = "settings";
}
Однако всякий раз, когда я пытаюсь получить доступ к Auth::user()->settings
или Auth::user()->access
, я получаю сообщение об ошибке undefined index:
. Это расстраивает, потому что, как я уже сказал, у меня это работало на днях, и я не уверен, что изменилось.
dd(Auth::user()->settings);
, я получаю сообщение об ошибкеUndefined index: settings
- person Chud37   schedule 02.03.2018