thinkphp通过模型查询mysql_thinkPHP视图模型详解,把mysql表关联简单化!
學過sql的人都知道有表左關聯,右關聯,但是sql語句要寫很多,非常容易出錯,而ThinkPHP的視圖模型則簡單化很多了。還發現個問題,貌似ThinkPHP手冊寫的很多東西都不是很完善,很多人看了都不懂。如果有什么不懂的,可以加群:252799167交流,或者給我留言,今天就寫個ThinkPHP的視圖模型小例子,讓大家知道該怎么用。
mysql的表關聯其實就是將多個表的數據聯系到一起,然后臨時生成一張表,方便讀取數據。而在ThinkPHP中視圖表同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖并不在數據庫中以存儲的數據值集形式存在。行和列數據來自由定義視圖的查詢所引用的表,并且在引用視圖時動態生成。
接下來開始創建表gl_blog:
gl_category
gl_user
新建入口文件,生成項目文件,設置編碼為utf-8(可以根據自己的需要來)
在Model文件夾里新建BlogViewModel.class.php
內容:
'Blog'=>array('id','name','title');
Blog表中要顯示的字段,和數據表相對應
'title'=>'category_name',
給Category表中的title定義別名為category_name,如果不想可以不定義
'_on'=>'Blog.category_id=Category.id'
'_on'將兩個表建立聯系,也就是Blog表中的category_id和Category中的id字段相對應,如果Category表中有多哥要顯示的字段,可以直接array('title'=>'category_name',在array中添加即可,
還有幾種用法,
array('title'=>'category_name' ? 指定表名
'_as'=>'myBlog' ? ? ? ?給當前的數據表定義別名
'_type'=>'LEFT' ? ? ? ?左關聯還是右關聯
至于User表和Blog表建立的聯系,就不說了,大家應該都能看懂了。
寫完了下來就是使用的了
在IndexAction.class.php寫
初始化BlogView視圖模型的類,查詢id,name,title,category_name,username字段,條件id大于10,降序排列
是不是非常簡單?呵呵。學了ThinkPHP有兩個月了,發現ThinkPHP非常的人性化,盡量去簡化很多操作,不過可能有些會額外的增加開銷。這個可以在精通ThinkPHP以后,根據自己項目條件不同,去適當修改優化ThinkPHP,推薦如果想學習ThinkPHP的朋友可以去研究研究ThinkSNS的例子,非常不錯
總結
以上是生活随笔為你收集整理的thinkphp通过模型查询mysql_thinkPHP视图模型详解,把mysql表关联简单化!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php json存mysql斜杠_MyS
- 下一篇: mybatis中mysql流式读取_My