【问题标题】:Laravel multiple user id tablesLaravel 多用户 id 表
【发布时间】:2020-09-14 19:39:25
【问题描述】:

我对 laravel 很陌生,并且有一个与关系相关的非常基本的问题。

这是我的问题的一个例子:

我有一个名为 money_transfers 的迁移。 迁移包含以下内容:

  1. user_id(传输发送者)
  2. sentTo_id(发送到)
  3. 金额
  4. sent_at

user_idsentTo_id 都指的是用户 ID。

现在,我想做的是:

以与汇款人相同的方式获取汇款人。就像下面的例子一样:

$transfer->sentTo->name

$transfer->sentTo->id

你明白我的意思。在此先感谢:)

【问题讨论】:

  • 究竟是什么问题?只需建立多个关系。显示您现在拥有的代码。
  • 您是否将关系添加到模型中?
  • 是的,我将关系添加到模型中。我的意思是 (user_id, sentTo_id) 都指的是一个用户。如何让 laravel 知道 sentTo_id 是用户 ID?

标签: database laravel foreign-keys relationship


【解决方案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;

【讨论】:

  • 谢谢,这正是我想要的。非常感谢您的帮助。
猜你喜欢
  • 2019-12-14
  • 2018-06-14
  • 1970-01-01
  • 2017-07-09
  • 1970-01-01
  • 2021-02-20
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多