美文网首页PHP学习笔记
Laravel框架学习笔记之数据库-ORM-关联关系

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

作者: 赵客缦胡缨v吴钩霜雪明 | 来源:发表于2018-08-22 19:07 被阅读116次

            当我们使用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:关联模型在当前模型里的键值

    一对多

    三 . 多对多

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

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

    多对多

    未完待续...

    相关文章

      网友评论

        本文标题:Laravel框架学习笔记之数据库-ORM-关联关系

        本文链接:https://www.haomeiwen.com/subject/ayslbftx.html