带外键的Laravel表 - Eloquent Relationships?

时间:2016-08-10 13:39:29

标签: php mysql laravel eloquent

我得到以下5个表格: enter image description here

颜色代表外键,以及它们连接的表。

快速说明:

  • "用户" - 包含我的用户
  • "端子" - 包含终端
  • " terminal_rents" - 存储用户X租用终端Y的期间
  • " payment_methods" - Y航站楼可以接受多种付款方式(Visa,MasterCard。这仅包含ID和说明(p.ex"名称" =>" Visa")。
  • " rent_payment_values" - 包含对terminal_rents和付款方式(payment_id)的引用。对于此终端Y上的此特定付款方式,已配置ID" uid"

几个问题:

  1. 我发现所有这些关系应该属于majorMany。这是对的吗?
  2. 我为所有这些数据库创建了模型。我如何连接它们?我必须使用任何这些可选参数吗?
  3. 如果不使用5个表,是否有更好的选择来实现这一目标?我尝试这样做,因为那样你可以随时添加新的payment_methods而不会破坏任何东西。
  4. 谢谢

1 个答案:

答案 0 :(得分:0)

你的问题非常笼统,严格劝阻在这里询问。但是,在你提前开始之前,我决定给你一个线索。

  1. 分别是belongsTohasMany关系。
  2. 2.For 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. 这很好。