Как получить полиморфные отношения модели, вернуть ноль Laravel 5.6 - PullRequest
0 голосов
/ 25 января 2019

У меня есть таблица пользователей, которая содержит данные доступа к имени пользователя и паролю, но эта таблица пытается преобразовать полиморфные отношения, поскольку доступ может принадлежать различным моделям model1, model2 и т. Д.

пользователи таблицы миграции

$table->unsignedInteger('roleable_id');
$table->string('roleable_type');

Модель Пользователь

public function roleable()
{
    return $this->morphTo();
}

public function getFullNameAttribute()
{
    return  $this->roleable->attributes['lastname'] . ' ' .
            $this->roleable->attributes['name'];
}

Другие модели

public function rol()
{
    return $this->morphOne(App\User::class,'roleable');
}

Я пытаюсь получить доступ к данным модели через пользователя, но всегда возвращаю ошибку,

Попытка получить свойство 'атрибуты' необъекта (Просмотр:

Что я делаю неправильно или неправильный подход?

View

{{ auth()->user()->full_name }}

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Получаемая ошибка говорит о том, что пользователь еще не связан с roleable моделью.

0 голосов
/ 25 января 2019

Звучит так, как будто для пользовательской модели роль не установлена.Проверьте базу данных и убедитесь, что значения для roleable_id и roleable_type указаны в этих значениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...