php第十二节thinkphp关联模型(1).docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

文档评论(0)

wumanduo11 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档