Laravel为用户提供雄辩的模型绑定,可以是客户,管理员或制作人

时间:2017-08-27 21:02:16

标签: laravel-5

检索角色模型的简洁方法

  • id:1
  • 名称:样本名称
  • 电子邮件:email@email.com
  • 密码:传递
  • role_type:client
  • role_id:3(指向客户表)
  • id:2
  • name:sample name2
  • 电子邮件:email2@email.com
  • 密码:传递
  • role_type:producer
  • role_id:3(指向生产者表)

目标:

  • $ user-> role - >第一种情况的客户
  • $ user-> role - >第二种情况下的制片人

欢迎实现类似功能的其他解决方案

1 个答案:

答案 0 :(得分:0)

因此,解决方案是用户多态关系。

如果假设用户可以是客户端和供应商,则用户的模型需要具有可用的关系,数据库2可以使用userable_type(string)和userable_id(int)。

客户和供应商模型涉及:

public function users()
    {
        return $this->morphMany('App\User', 'userable');
    }