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_idsentTo_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 表的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 多对多关系查询

laravel 如何在多对多关系中分配给用户?

laravel 模型关联 一对多

多个关联表多字段多条件模糊查询

Linq中的group by多表多字段,Sum求和

6django操作表多对多实战