国产探花免费观看_亚洲丰满少妇自慰呻吟_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();

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

圖片精選

主站蜘蛛池模板: 福清市| 公主岭市| 镇康县| 巴东县| 叶城县| 渝北区| 涿鹿县| 嘉鱼县| 通化市| 双流县| 香河县| 陈巴尔虎旗| 乳山市| 茶陵县| 临清市| 海安县| 淮北市| 淳安县| 平乡县| 视频| 嘉禾县| 七台河市| 都昌县| 辰溪县| 安康市| 交口县| 重庆市| 城步| 札达县| 孟村| 普安县| 潼关县| 平邑县| 汪清县| 理塘县| 寿阳县| 安远县| 元阳县| 永年县| 安远县| 许昌县|