首页 文章

将数据库关系转换为Eloquent关系

提问于
浏览
4

所以,我一直在努力观察和阅读来自laracasts的雄辩关系 . 不幸的是,我仍然不太了解如何将数据库关系转换为雄辩的关系(hasOne,belongsTo,hasMany等) .

假设我有一个帐户和客户表 . 帐户表有一个“Customer_id”外键,它引用Customer表上的“id” . 我们假设它是一对多的关系 . 我该如何把它放在laravel上的模特身上?

哪个表应该包含“hasMany”,哪个应该包含“belongsTo”?

1 回答

  • 3

    试想你会怎么说 . 在您的情况下,它听起来像一个客户有很多帐户,一个帐户属于一个客户 .

    因此,您可以将 hasMany() 放在 Customer 模型中,将 belongsTo() 放在 Account 模型中 .

    class Customer extends Model {
    
        public function accounts() {
            return $this->hasMany('App\Account');
        }
    
    }
    
    class Account extends Model {
    
        public function customer() {
            return $this->belongsTo('App\Customer');
        }
    
    }
    

    您可以阅读有关Laravel数据库关系here的更多信息 .

相关问题