国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > ThinkPHP > 正文

ThinkPHP模型--字段、數據主鍵

2024-09-09 15:20:01
字體:
來源:轉載
供稿:網友

字段定義:系統會在模型首次實例化的時候自動獲取數據表的字段信息(而且只需要一次,以后會永久緩存字段信息,除非設置不緩存或者刪除),如果是調試模式則不會生成字段緩存文件,則表示每次都會重新獲取數據表字段信息.

字段緩存保存在Runtime/Data/_fields/ 目錄下面,緩存機制是每個模型對應一個字段緩存文件(而并非每個數據表對應一個字段緩存文件),命名格式是:

數據庫名.模型名.php

例如:

thinkphp.User.php 表示User模型生成的字段緩存文件

thinkphp.Article.php 表示Article模型生成的字段緩存文件

可以通過設置DB_FIELDS_CACHE 參數來關閉字段自動緩存,如果在開發的時候經常變動數據庫的結構,而不希望進行數據表的字段緩存,可以在項目配置文件中增加如下配置:

'DB_FIELDS_CACHE'=>false

注意:調試模式下面由于考慮到數據結構可能會經常變動,所以默認是關閉字段緩存的.

如果需要顯式獲取當前數據表的字段信息,可以使用模型類的getDbFields方法來獲取當前數據對象的全部字段信息,例如:

$fields = $User->getDbFields();

如果你在部署模式下面修改了數據表的字段信息,可能需要清空Data/_fields目錄下面的緩存文件,讓系統重新獲取更新的數據表字段信息,否則會發生新增的字段無法寫入數據庫的問題.

如果不希望依賴字段緩存或者想提高性能,也可以在模型類里面手動定義數據表字段的名稱,可以避免IO加載的效率開銷,在模型類里面添加fields屬性即可,定義格式如下:

  1. class UserModel extends Model(){ 
  2.     protected $fields=array('id','username','email','_pk'=>'','_autoinc'=>'true'............) 
  3.  

其中_pk 表示主鍵字段名稱 _autoinc 表示主鍵是否自動增長類型,定義了fields屬性之后,就不會自動獲取數據表的字段信息了,如果有修改或者增加字段,必須手動修改fields屬性的值.

數據主鍵

系統會自動識別當前操作的數據表的字段信息和主鍵名稱,默認為id,在外部獲取當前數據對象的主鍵名稱:$pk = $Model->getPk();

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

圖片精選

主站蜘蛛池模板: 武宁县| 千阳县| 凌源市| 瓦房店市| 宣化县| 白山市| 和硕县| 招远市| 宿迁市| 眉山市| 玛纳斯县| 宁陵县| 娄烦县| 西华县| 湄潭县| 梁河县| 会理县| 巫溪县| 循化| 汽车| 容城县| 博湖县| 荆门市| 堆龙德庆县| 江津市| 故城县| 湘阴县| 崇仁县| 玛纳斯县| 十堰市| 监利县| 大悟县| 封开县| 阿克| 滦南县| 吉林省| 循化| 特克斯县| 美姑县| 甘泉县| 黄梅县|