Laravel框架学习笔记之数据库-ORM-关联关系

        当我们使用Laravel框架时,发现Laravel 内置的 Eloquent ORM模型 是一个操作数据库的利器,模型允许你在表中进行数据查询,以及插入、更新、删除等操作。我们只需要创建一个 Eloquent 模型,就可以便捷地使用insert,delete,update,select等操作。随着数据业务的不断复杂,数据表经常要与其它表做关联,有时候查询一条信息就需要关联很多张表。Eloquent 使得组织和处理这些关联关系变得简单,并且支持多种不同类型的关联关系:

一 . 一对一

        一对一关联是最简单的关联关系:一个人有一个身份证号。

return $this->hasOne('App\Phone', 'foreign_key', 'local_key'); 

 foreign_key当前模型的主键,local_key:关联模型在当前模型里的键值

一对一

二 . 一对多

一对多是用于定义单个模型拥有多个其它模型的关联关系:一个人有多个手机号。

return $this->hasMany('App\Comment', 'foreign_key', 'local_key');

 foreign_key当前模型的主键,local_key:关联模型在当前模型里的键值

Laravel框架学习笔记之数据库-ORM-关联关系_第1张图片
一对多

三 . 多对多

多对多关联关系:一个用户有多个角色,同时一个角色被多个用户共用。例如,很多用户可能都有一个“Admin”角色。要定义这样的关联关系,需要三个数据表:users、roles和role_user,role_user表按照关联模型名的字母顺序命名,并且包含user_id和role_id两个列。

return $this->belongsToMany('App\Role', 'user_roles', 'user_id', 'role_id');

多对多

未完待续...

你可能感兴趣的:(Laravel框架学习笔记之数据库-ORM-关联关系)