詳解Tp5中如何定義獲取器和修改器

thinkphp框架教程欄目將給大家介紹詳解thinkphp5中如何定義獲取器和修改器?,希望對需要的朋友有所幫助!

詳解Tp5中如何定義獲取器和修改器

一 獲取器:獲取器的作用是在獲取數據的字段值后自動進行處理,其實就是將在數據庫中拿到的數據變成我們想要的到的另外一種形式,

然后獲取器就是從中進行轉換的工具

獲取器通常要定義在model中,那個表需要獲取器就定義在相應的表的model中

<?php namespace appindexmodel;  use thinkModel;  class User extends Model{      設置獲取器     public function getSexAttr($value){          $sex=[             0=>'女', ????????????1=&gt;'男' ????????];  ????????return?$sex[$value]; ????} ????設置修改器 ????public?function?setSexAttr($value){ ????????$sex=[ ????????????'男'=&gt;1, ????????????'女'=&gt;0 ????????];  ????????return?$sex[$value];  ????}??? }

getSexAttr駝峰命名法是固定的定義格式,中間的Sex一般是我們數據庫中的字段名稱,方法中定義的意思是,如果數據庫中sex字段=0,那么像回事為’女’,如果數據庫中sex字段=1,那么顯示的值為’男’

在controller中我們使用User模型進行數據庫查詢操作

$user?=?User::get(1); echo?$user-&gt;sex;?//?例如輸出“男”

setSexAttr駝峰命名法定義了修改器,同同樣的Sex為字段名稱,在我們修改或者插入新的數據時,數據會通過這個方法進行數據的轉換,
上邊的方法中,我們在向數據庫sex字段插入字段值=’男’時,實際上數據庫中存的數據是’1′????????

$user=new?User(); ?????????$user-&gt;name='名字'; ????????$user-&gt;sex='男'; ????????$user-&gt;age=20; ????????$res=?$user-&gt;save();

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享