麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > ThinkPHP > 正文

ThinkPHP 數(shù)據(jù)庫視圖模型

2024-09-09 15:20:09
字體:
來源:轉載
供稿:網(wǎng)友

注意:本文中的視圖,是指數(shù)據(jù)庫視圖模型,而非 ThinkPHP 中的 View 視圖類實現(xiàn).

數(shù)據(jù)庫視圖是指從一個或幾個基本表中根據(jù)用戶需要,提取出需要的數(shù)據(jù)列而做成一個虛表,這樣就不必根據(jù) a 表數(shù)據(jù)再去查詢 b 表,c 表... 等有關系的表而方便的一次性將數(shù)據(jù)查詢出來.

視圖在有些數(shù)據(jù)庫下面并不被支持,ThinkPHP 模擬實現(xiàn)了數(shù)據(jù)庫的視圖,該功能可以用于多表聯(lián)合查詢.

要在 ThinkPHP 中使用視圖模型,只需要繼承 ViewModel,然后設置 viewFields 屬性,使用 D方法實例化模型 即可.

視圖模型實例

現(xiàn)有 user 表和 article 表如下(表前綴為 test_):

  1. uid username password email regdate 
  2.  
  3. 1 admin b7e591c246d010bb2ccd77d52490c85e [email protected] 1277992339 
  4.  
  5. 2 小明 a193686a53e4de85ee3f2ff0576adf01 [email protected] 1278063917 
  6.  
  7. 3 Jack 0193686a35e4de85ee3f2ff0567adf49 [email protected] 1278061380 
  8.  
  9. aid title content add_time cid uid 
  10.  
  11. 1 文章1 文章1正文內容…… 1277993339 1 1 
  12.  
  13. 2 文章2 文章2正文內容…… 1277994339 2 3 

創(chuàng)建視圖模型文件:

  1. <?php 
  2. class ArticleViewModel extends ViewModel{ 
  3. public $viewFields = array
  4. 'article'=>array('aid','title','content','uid'), 
  5. 'user'=>array('username','_on'=>'article.uid=user.uid'), 
  6. ); 
  7. ?> 

在該視圖模型文件中,模型類繼承 ViewModel 視圖模型,并定義 $viewFields 屬性,每個元素包括了數(shù)據(jù)表及對應要查詢的字段,在每個表元素中,通過定義 _on 元素來定義關聯(lián)查詢條件.

將該文件保存為 Lib/Model/ArticleViewModel.class.php.

在 Action 操作中使用視圖模型

在模塊操作中,使用 D 方法來實例化視圖模型:

  1. <?php 
  2. class ArticleAction extends Action{ 
  3. public function index(){ 
  4. header("Content-Type:text/html; charset=utf-8"); 
  5. $Dao = D('ArticleView'); // 實例化視圖 
  6. $article_list = $Dao->select(); 
  7. print_r($article_list); 
  8. echo '<br /><br />'
  9. // 打印出執(zhí)行的 SQL 語句 
  10. echo '執(zhí)行的 SQL 語句為:'.$Dao->getLastSql(); 
  11. }?> 

訪問該方法,打印出結果如下:

  1. Array( 
  2. [0] => Array( 
  3. [aid] => 1, 
  4. [title] => 文章1, 
  5. [content] => 文章1具體內容……, 
  6. [username] => admin, 
  7. [1] => Array( 
  8. [aid] => 2, 
  9. [title] => 文章2, 
  10. [content] => 文章2具體內容……, 
  11. [username] => Jack, 

執(zhí)行的 SQL 語句為:

SELECT article.aid AS aid,article.title AS title,article.content AS content,article.uid AS uid,user.username AS username FROM test_article article JOIN test_user user ON article.uid=user.uid

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 成人羞羞网站入口 | 羞羞草视频| 72pao成人国产永久免费视频 | 国产中文99视频在线观看 | h视频在线免费观看 | 好吊色37pao在线观看 | 99视频在线观看视频 | 色屁屁xxxxⅹ免费视频 | 国内精品久久久久久影视8 嫩草影院在线观看网站成人 | 成人黄色短视频在线观看 | 欧美黄色性视频 | 精品黑人一区二区三区国语馆 | 久久精品视频一区二区三区 | 久久久麻豆 | 2017亚洲男人天堂 | 午夜视频在线免费播放 | 日本a在线观看 | 色综合视频网 | 99久久电影| 日本xxxx视频| 国产精品一区免费在线观看 | 亚洲一区二区三区视频免费 | av噜噜在线 | hd极品free性xxx护士人 | 欧美性受xxxx人人本视频 | 一区二区免费 | 欧美一级无毛 | 黄色的视频免费观看 | 蝌蚪久久窝 | 泰剧19禁啪啪无遮挡 | 97中文字幕第一一一页 | 久草网在线 | 免费一及片 | 国内免费视频成人精品 | 久久久国产精品视频 | 久久精品一区二区三区四区五区 | 国产精品视频 | h视频在线播放 | 中国杭州少妇xxxx做受 | 久久国产精品成人免费网站 | 精品中文视频 |