TP5模型修改器和讀取器

2021-09-25 09:08:41 字數 667 閱讀 8980

現在所有的專案都是會把時間存成時間戳格式,取出的時候還要轉換

這時候就可以應用到讀取器這個功能。

讀取器的命名規則是:駝峰 ,get+欄位名+attr  

例如:getbirthdayattr;

比如我要獲取生日。那麼可以如下操作:

這樣我們獲取到的生日就是「年-月-日」格式的:

public function read($id='')

讀取器還可以定義讀取資料表中不存在的屬性,例如把原始生日和轉換的格式分開兩個屬性 birthday 和 user_birthday ,我們只需定義 user_birthday 屬性的讀取器方法:

這時候我們直接在控制器中echo $data->user_birthday; 就可以輸出y-m-d格式的時間。

修改器:

由於很多時候我們在前端獲取到的時間是字串型別,而我們需要進行strtotime()處理,所以在插入資料庫之前,我們通過修改器直接將資料格式轉換成我們需要的。

修改器方法的命名規範是:set + 屬性名的駝峰命名+ attr。

我們在模型中新增:

protected function setbirthdayattr($value)

在控制器中新增資料的時候:

public function add()

else

}  

TP5模型修改器和讀取器

現在所有的專案都是會把時間存成時間戳格式,取出的時候還要轉換 這時候就可以應用到讀取器這個功能。讀取器的命名規則是 駝峰 get 欄位名 attr 例如 getbirthdayattr 比如我要獲取生日。那麼可以如下操作 public function read id 讀取器還可以定義讀取資料表中不...

tp5 模型查詢構建器問題

情況,在product 模型中倒序查出前二十條最近的資訊 在 模型中定義方法 public function getrecent limit return this order id desc limit limit select 列印出 sql 的樣子是 select from order lim...

tp5模型belongsTo和hasOne的區別

在使用tp5模型的orm的時候出現belongsto和hasone都有表示一對一的關係,但是二者並不相同。以下舉例說明兩者的區別 首先有user表 字段 id name password欄位 然後有user address表 id user id city欄位 在user模型中關聯user addr...