Laravel Jetstream (Livewire) не возвращает пользователя из-за красноречивых отношений

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

Модели / Вещи

public function users()
{
    return $this->belongsTo(User::class);
}

с user_id, хранящимся в таблице things

Однако этот дамп не возвращает пользовательские данные: dd($this->thing->users->name);

Ошибка:

Attempt to read property "name" on null

person Mike Thrussell    schedule 04.03.2021    source источник


Ответы (1)


попробуй это

return $this->belongsTo(User::class, 'user_id', 'id');

на мой взгляд, вы используете пользователей с ownTo. он будет работать, если вы будете использовать.

public function user(){
    return $this->belongsTo( User::class );

}

а потом

dd( $this->thing->user->name );
person r89human    schedule 04.03.2021