zoukankan      html  css  js  c++  java
  • Thinkphp 关联模型和试图模型区别

    关联模型主要在多表操作时使用,比如

    user表,user_role表,role表

    user_role字段:uid,rid,它作为中间表,负责将user和role之间的,1对1,1对多,多对多的关系进行保存。

    这时要通过uid查询用户的数据和用户拥有的所有role数据时,就要用到关联模型。

    role的结果会成为一个新数组,插在user的结果数组里,成为多维数组。

    而视图模型则就是mysql的join方法的简化操作而已。

    将多表通过join方法联合查询,然后成为一个一维数组输出。不存在中间表一说!一般作为select时用的很多。

    另外,关联模型,1对1,1对多时,进行删除和编辑都没问题,对应的表都会正常执行。

    但多对多时,不管是删除还是编辑,都会把中间表清空,原因是在操作中间表时,没有带上where信息。。这是tp3.1.3的bug。不知道未来版本修复了没

    所以在多对多编辑和删除时就用常规手段做,不要用关联模型方式了

  • 相关阅读:
    妹妹
    小猴和北极熊
    盛趣->盛大
    运维
    操之过急
    修马路
    博人传
    醉酒
    【跨域】SpringBoot跨域,拦截器中,第一次获取的请求头为NULL,发送两次请求的处理方式
    【Linux】Linux安装Tomcat
  • 原文地址:https://www.cnblogs.com/kingfly/p/4161409.html
Copyright © 2011-2022 走看看