【问题标题】:Aggregation relationships (two or more) between two tables in laravel 5laravel 5中两个表之间的聚合关系(两个或多个)
【发布时间】:2016-05-26 14:15:08
【问题描述】:

我正在使用 laravel 5 开发一个网络应用程序。现在我遇到以下问题:

  • 我有两个表用户和反馈

    • 用户:id、用户名、密码

    • 反馈:id、提供者、接收者、评论者、内容

  • 我想提供者、接收者和审阅者是用户。这意味着我会将用户 ID 存储到提供者、接收者和审阅者中。

  • 在 laravel 中,我只能为模型用户设置关系,例如:$this->belongsTo('User', 'provider', 'id')

  • 而且我想receiver和reviewer也有belongsTo关系

  • 我想为多对多关系创建第三个表,但如果我这样做,我必须为接收者和审阅者创建两个表。

我需要帮助解决这个问题,而无需在控制器上使用更多查询,感谢阅读。

【问题讨论】:

    标签: php mysql laravel-5


    【解决方案1】:

    在您的反馈模型中创建以下关系:

    public function provider()
    {
        $this->belongsTo('User', 'provider', 'id');
    }
    
    public function reviewer()
    {
        $this->belongsTo('User', 'reviewer', 'id');
    }
    
    public function receiver()
    {
        $this->belongsTo('User', 'receiver', 'id');
    }
    

    【讨论】:

    • 是的,它奏效了。我认为关系的函数名称必须与表名称匹配,所以我错了。
    猜你喜欢
    • 2014-05-31
    • 1970-01-01
    • 2016-06-27
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多