1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Laravel Eloquent Orm 使用指南

Laravel Eloquent Orm 使用指南

时间:2023-01-26 03:40:35

相关推荐

Laravel Eloquent Orm 使用指南

后端开发|php教程

Laravel Eloquent Orm 使用指南

后端开发-php教程

1、描述1vs1关系

免费考试系统源码带手机版,ubuntu16.04谷歌,爬虫整顿风暴杭州,php 1 099,SEO中天立lzw

例如比如又两张表,一张部门表,一张经理表,一个部门只有一个经理,一个经理也只控制一个部门,就表达了一对一的关系

微信红包互换源码,vscode怎么一键部分替换,ubuntu 审计日志,Tomcat嵌入式开发,小爬虫文章,php中strlen函数,沈阳seo搜索引擎优化lzw

class User extends Eloquent {

//一对一

public function dept() {

return $this->hasOne(‘Dept’); // this matches the Eloquent model

}

微信群 公众号二维码导航网站源码,ubuntu开机黑屏很久,微信爬虫群,php stoetimg,淘宝seo学院lzw

class Dept extends Eloquent {

public function user() {

return $this->belongsTo(‘user’); // this matches the Eloquent model

}

我们可以总结出,在一对一关系中,主表(也就是没有保存user_id表的那个表),用hasOne表示,另外一个表,保存了user_id的,用belongsTo来表述。换句话说,当我们看到一个表有blongsTo的时候,如果后面没有带参数,也就代表着这个表利用方法名_id来跟前面的表关联

2、描述1vs多关系

例如班级表,学生表,一个班级有很多名学生,一个学生只在一个班级,因此class表跟student表是一对多关系

class Squad extends Eloquent {

//一对多

public function student() {

return $this->hasMany(‘Student’);

}

class Student extends Eloquent {

public function squad() {

return $this->belongsTo(‘Squad’);

}

我们可以总结出,在一对多关系中,主表(也就是没有保存squad_id表的那个表),用hasMany表示,另外一个表,保存了squad_id的,用 belongsTo来表述。

3、描述多对多关系

例如角色表,用户表,一个角色有多个用户,一个用户可以拥有多个角色

Class Role extentds Eloquent{

public function User{

return $this->belongsToMany(‘Role’,’user_role’);

}

}

PS:其实我们并非一定要在我们的模型中写这么多可能另我们自己都费解的东西,只是根据需要我们需要进行某些查询的时候才写,举个简单例子,如果我们只需要查一个角色有多少个用户,而我们发现角色跟用户是多对多关系,我们就可以在Role表中写个User方法。如果我们需要查一个班级的所有学生,我们发现班级跟学生是一对多关系,我们就可以在班级模型中写Student方法,用到hasMany。

我们没有必要为这些东西引乱了我们的思维,一切根据实际需求来,需要查询的时候,再想关系,再写方法。例如我要查某个角色的用户,我们心中要清楚角色跟用户是多多对关系,自然而然就会用到blongsToMany,而不是我们凭空提前就去捏造。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。