【问题标题】:Laravel tables with foreign keys - Eloquent Relationships?带有外键的 Laravel 表 - 雄辩的关系?
【发布时间】:2016-08-10 13:39:29
【问题描述】:

我得到了以下 5 个表:

颜色代表外键,以及它们与哪个表相连。

快速解释:

  • “用户” - 包含我的用户
  • “终端” - 包含终端
  • "terminal_rents" - 存储用户 X 租用终端 Y 的时间
  • "payment_methods" - 终端 Y 可以接受多种支付方式(Visa、MasterCard。这仅包含一个 ID 和描述(p.ex "name" => "Visa")。
  • "rent_payment_values" - 包含有关 terminal_rents 和付款方式 (payment_id) 的参考。对于此终端 Y 上的这种特定付款方式,有一个配置为“uid”的 ID

几个问题:

  1. 我发现所有这些关系都应该是BelongsToMany。对吗?
  2. 我已经为所有这些数据库创建了模型。我需要如何连接它们?我必须使用这些可选参数吗?
  3. 是否有更好的选择来实现这一点而不使用 5 个表?我尝试这样做是因为您可以随时添加新的 payment_methods 而不会破坏任何内容。

谢谢

【问题讨论】:

  • 您需要查看相关文档,您是否阅读过如何发布新问题?

标签: php mysql laravel eloquent


【解决方案1】:

您的问题非常笼统,不鼓励在这里提问。不过,我决定在你继续之前给你一个线索。

  1. 这分别是belongsTohasMany 关系。

2.给terminal_rents

public function user(){
    return $this->belongsTo("App\User"); // or whatever namespace you use
}
public function terminal(){
    return $this->belongsTo("App\Terminal");
}

对于user

public function terminalRents(){
     return $this->hasMany("App\TerminalRents");
}
  1. 这很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 2016-09-06
    • 2020-06-30
    • 2015-03-14
    相关资源
    最近更新 更多