Laravel 多用户 id 表
Posted
技术标签:
【中文标题】Laravel 多用户 id 表【英文标题】:Laravel multiple user id tables 【发布时间】:2020-09-14 19:39:25 【问题描述】:我对 laravel 很陌生,并且有一个与关系相关的非常基本的问题。
这是我的问题的一个例子:
我有一个名为 money_transfers
的迁移。
迁移包含以下内容:
-
user_id(传输发送者)
sentTo_id(发送到)
金额
sent_at
user_id
和 sentTo_id
都指的是用户 ID。
现在,我想做的是:
以与汇款人相同的方式获取汇款人。就像下面的例子一样:
$transfer->sentTo->name
或
$transfer->sentTo->id
你明白我的意思。在此先感谢:)
【问题讨论】:
究竟是什么问题?只需建立多个关系。显示您现在拥有的代码。 您是否将关系添加到模型中? 是的,我将关系添加到模型中。我的意思是 (user_id, sentTo_id) 都指的是一个用户。如何让 laravel 知道 sentTo_id 是用户 ID? 【参考方案1】:如果您在迁移表中正确定义了 外键,那么只需定义正确的关系即可:
class MoneyTransfer extends Model
public function sentBy()
return $this->belongsTo(User::class,'user_id');
public function sentTo()
return $this->belongsTo(User::class,'sentTo_id');
这样你就可以像这样访问receiver属性:
$transfer->sentTo->name;
发送者属性如下:
$transfer->sentBy->name;
【讨论】:
谢谢,这正是我想要的。非常感谢您的帮助。以上是关于Laravel 多用户 id 表的主要内容,如果未能解决你的问题,请参考以下文章