【问题标题】:Laravel relationship between two tables两个表之间的Laravel关系
【发布时间】:2017-07-31 20:58:55
【问题描述】:

我希望您能对此发表意见。

我有一个 Customer_table 字段 name。我有另一个名为Reservation_table 的表,其中包含Customer_name 字段。

如何将它们关联起来,以便我可以看到特定客户的所有预订?

【问题讨论】:

标签: laravel eloquent relationships


【解决方案1】:

Reservation_table 中,您应该有一个字段(外键)userid,以便每次预订都有一个用户。

【讨论】:

    【解决方案2】:

    您可以使用主键-外键关系来关联/连接这两个表。此外,与其将“Customer_name”字段作为 FK 引用“Customer_table”表中的“name”字段,不如为每个客户生成一个 id(唯一);通过这种方式,您可以有效地跨表唯一地识别和关联客户;也可以节省数据库端的空间。希望这可以帮助!

    【讨论】:

    【解决方案3】:

    如果你想使用 eloquent 你必须先定义一个关系。 一个预订属于一个用户。以下是定义关系的方法: Reservation 模型内部:

    public function user()
    {
       return $this->belongsTo('App/User'); //User model
    }
    

    要定义逆,请执行以下操作: 内部用户模型:

    public function reservations()
    {
      return $this->hasMany('App/Reservation'); // Reservation Model
    }
    

    现在您可以在控制器中执行以下操作:

    $reservations = Auth::user()->reservations;
    

    现在您已拥有当前登录用户的所有预订。 我不确定我的问题是否正确,所以问吧。

    【讨论】:

    • @SaiKrishna 你试过了吗?这是雄辩的方式。
    猜你喜欢
    • 2016-06-27
    • 2022-01-09
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    相关资源
    最近更新 更多