【发布时间】:2019-05-22 17:55:17
【问题描述】:
所以我正在编写一个代码,用户可以在其中邀请人们使用他们的推荐代码进行注册。用户应该能够使用关系 $user->invitees() 来确定他邀请的人。它在本地工作得很好。但在生产中,它没有。
public function invitees()
{
return $this->hasMany('App\User', 'referrer', 'referral_code');
}
我知道这是因为在某些情况下关系可能会返回 null:
referrer 和 refer_code 字段可能为 null(在某些情况下,例如当用户直接注册而没有被某人邀请时)从而导致 invitees() 关系返回 null
我在某处读到这可能是原因。
这是真的吗?如果是,我该如何解决?
【问题讨论】:
-
嗨,你的错误是什么?您是否尝试检查 $invitees = $user->invitees() ? $user->invitees() : 0;
-
错误是当我知道它不应该返回一个空集合时它返回一个空集合
-
您确定表格中的数据没有问题吗?您是否检查过该案例的 sql 查询?我问你是因为你很难过,这在开发环境中是可以的。
-
如果你运行代码 $invitees = $user->invitees(); if (!$invitees->isEmpty()) { "do what you have to do" } 有用吗?
标签: php laravel orm eloquent relationship