【问题标题】:how to join 4 or more tables in Laravel如何在 Laravel 中加入 4 个或更多表
【发布时间】:2021-09-11 04:07:57
【问题描述】:

我在数据库中有 4 个表:

1- 用户(ID、姓名、电子邮件、密码)

2- 服务(id、名称、价格)

3- 优惠券(id、折扣、过期数据、雕像)

最后一个是(数据透视表)用于将所有这些表连接在一起的付款

4- 付款(id、user_id、services_id、coupon_id、after_discount、total_paid)

我的问题在这里,如何使用 Laravel Eloquent 将所有这些表连接到一个关系中,以选择、插入、更新和删除 (payments) 表。使用多对多关系好吗?

谢谢。

【问题讨论】:

  • “优惠券”和“服务”有什么关系吗?
  • 它们之间没有关系

标签: php mysql laravel eloquent


【解决方案1】:

步骤 - 1

更新表格字段

1- 用户(ID、姓名、电子邮件、密码)

2- 服务(id、user_id、名称、价格)

3- 优惠券(id、user_id 折扣、过期数据、雕像)

4- 付款(id、user_id、services_id、coupon_id、after_discount、total_paid)

步骤 - 2

添加用户模型

    public function service(){
        return $this->hasMany(Service::class);
    }
    public function coupon(){
        return $this->hasMany(Coupon::class);
    }
    public function payment(){
        return $this->hasMany(Pay::class);
    }

步骤 - 3

获取关系数据

User::with(['service','payment','coupon'])->findOrFail($id);

【讨论】:

  • 感谢您的帮助,但在我的应用程序中,服务不能占用任何用户,因为它只是服务类别。而对于优惠券,它不仅可以被许多用户使用
猜你喜欢
  • 1970-01-01
  • 2015-04-08
  • 2021-01-10
  • 2013-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-20
  • 2023-03-23
相关资源
最近更新 更多