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

时间:2015-08-21 18:06:29

标签: php laravel eloquent

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

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

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

1 个答案:

答案 0 :(得分: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