- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
THINKPHP
关联模型
学习目的:
1) 了解数据库模型的3种关系
2) 掌握ThinkPHP关联模型的定义
3) Th in kPHP 关模型的操作 学习过程:
1、 回顾:
基础模型:
1) ORM 类映射表 对象 映射记录
2) 使用方式 M函数 D函数区别
3) 链操作: 与CRUD相关的函数放在最后,其它条件、限制、排序放中间,位置不管。
4) $this 当前对象本身。 MVC(我们的业务逻辑写在模型里面 )
5) 令牌验证:在生成表单前,生成一个字符串(随机、加密)同时放入 Session和表单的
隐藏域。提交将隐藏域传过值与 Session值比较,相同,操作并清楚 Sessio n.
2、 关联模型:模型与模型关系 映射 表与表的关系
所有关联模型都要继函 RelationModel,关系三种。分析源码: RelationModel.class.php
(1)
一对一关联模型 HAS_ONE
==1
User(用户)
Has_one
Person(身份证)
Id | user name | password
?
*
Id | cardNO| address
BLon gs_to
a) 符合规范,采用模认:1、关联名:表名;2、外键默为:表名_id eg: person与 user表关系,person 持有外键, user_id
b) 自己定义: mapping_type: 关系 class_name :与那个模型 foreign_key:外键
关联
?php
class userModel exte nds Relati onM odel
{
protected $_li nk=array(
pers on Card=array(
map pi ng_type=HAS_ONE, class_ name=pers on, foreig n_key=pers on」d
)
);
?
补充:mappi ng_fields :表示是关联查询时,查询那些例。
As_fields :直接将关联数据映射数据本身。
?php
class userModel exte nds Relati onM odel
{
protected $_li nk=array(
pers on Card=array(
map pi ng_type=HAS_ONE,
class_ name=pers on,
foreig n_key=pers on」d,
mapping_fields=cardNo,address, as_fields=cardNo:personCard,address // : “ 取一个别名
)
);
}
?
2) BLONGS_TO
?php
class pers onM odel exte nds Relati onM odel
{
protected $_li nk =array(
ow ner=array(
mappi ng_type=BELONGS_TO,
class_ name=user,
foreig n_key=pers on」d,
mapp in g_fields=user name, as_fields=user name:ow ner
),
);
}
?
属性
描述
备注
Mapp in g type
模型与模型的关系(表与表)
1,2, 3,4
Class name
关联模型名(去了前后缀的表
名)
Foreig n key
外键
默认值:对象名 id
Mapp in g fields
要关联操作的例名
默认,所有例数据
As fileds
将关联的数据当做自己的属性
(例)
强调:
问题:1、如果我们做关联,映射应当写在那个模型里面?
根据数据导向,从 A -B ,就在A里面定义关系。
2、 外键的确认:根据表做的。主就关外键在那个表里面(模型)
3、 有模型就要有表,有关系表就有外键关联。
任务:
与关联相关的CRUD
⑶一对多
a)两张表的一对多
?php
class userModel exte nds Relati onM odel
{
protected $_li nk=array(
pers on Card=array(
map pi ng_type=HAS_ONE, class_ name=pers on, foreig n_key=pers on」d, mapping_fields=cardNo as personcard,address, as_fields=pers on card,address
),
role=array(
mapping_type=HAS_MANY ,
class_ name=roles,
foreig n_key=user_id
)
);
}
?
b)
您可能关注的文档
最近下载
- 设备主管年度述职报告.pptx VIP
- 地形图测绘报告.docx VIP
- 信用卡纠纷民事起诉状、答辩状文书范本_10.docx VIP
- Unit 3 Getting along with others Integrated skills课件(共29张PPT)-高中英语牛津译林版(2025)必修第一册(内嵌音频+视频).pptx VIP
- 要素式民事答辩状(信用卡纠纷.docx VIP
- 电商视觉营销:详情页视觉设计PPT教学课件.pptx VIP
- 社会责任管理体系运行风险评估表.xls VIP
- 信用卡纠纷个人民事答辩状(新).docx VIP
- 4100测试机说明书-修正2009[1].10.20.pdf VIP
- 初中数学中考总复习全套课件.ppt
原创力文档


文档评论(0)