Thinkphp 关联模型和试图模型区别
生活随笔
收集整理的這篇文章主要介紹了
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。不知道未來版本修復了沒
所以在多對多編輯和刪除時就用常規手段做,不要用關聯模型方式了
轉載于:https://www.cnblogs.com/kingfly/p/4161409.html
總結
以上是生活随笔為你收集整理的Thinkphp 关联模型和试图模型区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android源码包下载
- 下一篇: thinkphp 获取客户端ip地址方法