tp5獲取器,修改器
阿新 • • 發佈:2021-01-09
獲取器
獲取器的作用是在獲取資料的欄位值後自動進行處理,例如,我們需要對狀態值進行轉換,可以使用:
class
Userextends
Model{
public
functiongetStatusAttr(
$value
)
{
$status
=[-1=>'刪除',0=>'禁用',1=>'正常',2=>'待稽核'];
return
$status
[$value
];
}}
資料表的欄位會自動轉換為駝峰法,一般status欄位的值採用數值型別,我們可以通過獲取器定義,自動轉換為字串描述。
$user
=User
::get(1);
echo $user
->status
;// 例如輸出“正常”
獲取器還可以定義資料表中不存在的欄位,例如:
class
Userextends
Model{
public
functiongetStatusTextAttr(
$value
,$data
)
{
$status
=[-1=>'刪除',0=>'禁用',1=>'正常',2=>'待稽核'];
return
$status
[$data
['status']];
}}
獲取器方法的第二個引數傳入的是當前的所有資料陣列。
$user
=User
::get(1);
echo $user
->status_text
;// 例如輸出“正常”
修改器
修改器的作用是可以在資料賦值的時候自動進行轉換處理
class
Userextends
Model{
public
functionsetNameAttr(
$value
)
{
return
strtolower(
$value
);
}
}
如下程式碼實際儲存到資料庫中的時候會轉為小寫
$user
=new
User();
$user
->name
='THINKPHP';
$user
->save();
echo $user
->name
;// thinkphp