如何显示 laravel 中 2 个表中带有 ID 的用户名

how to show user name with id from 2 tables in laravel

当我发送一封信时,我用 auth()->user()->id 捕获 sender_id 并保存到信中 table

但只有 user_id 会节省,例如 2 或 3 ...

如何在我的视图中显示用户名?

list.blade.php :

<tr>
     <td>{{ $letter->sender_id }}</td>
</tr>

LetterController.php -> public 函数索引:

$letters = Letter::latest()->paginate(10)->where('recieve_id', '=', auth()->user()->id);

LetterController.php -> public 函数存储:

Letter::create([
    'sender_id' => auth()->user()->id,
]);

字母table:

$table->string('sender_id');

和我有关系但我不知道它是否正确

Letter.php :

public function user()
{
    return $this->belongsTo(User::class, 'id', 'sender_id');
}

User.php:

public function letter()
{
    return $this->hasMany(Letter::class);
}

更新:

在使用时看到:

<td>{{ $letter->user->name }}</td>

但我有这个错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'users.sender_id' in 
'where clause' (SQL: select * from `users` where `users`.`sender_id` = 1 limit 
1) (View: D:\Web\Projects\automation\resources\views\Letter\list.blade.php)

在这样的视图中: {{ $letter->user->name }}