1. 程式人生 > 實用技巧 >Yii2 Mode裡面get加函式名呼叫時可以省略get直接使用函式名呼叫

Yii2 Mode裡面get加函式名呼叫時可以省略get直接使用函式名呼叫



//獲取單個使用者資訊
$model = MUser::findOne($post['id']);
//呼叫獲取使用者角色資訊
$model->roleinfo;//第一種寫法的呼叫 注意這裡可以省略get,呼叫函式第一個必須是小寫。
$model->RoleInfo;//第二種寫法的呼叫  注意這裡可以省略get,呼叫函式第一個必須是小寫。

模型類需要新增下面程式碼
/**
* 獲取使用者角色資訊(第一種寫法)
*
*/
public function getRoleinfo()
{
       // hasOne函式相對於關聯查詢 hasOne就屬於一對一的用法,hasMany就屬於一對多的用法,列如Role角色表,User使用者表,每一個使用者多有對應的roleid(角色id)
return $this->hasOne(MRole::className(), ['id' => 'roleid']); } /** * 獲取使用者角色資訊(第二種寫法) * */ public function getRoleInfo() { // hasOne函式相對於關聯查詢 hasOne就屬於一對一的用法,hasMany就屬於一對多的用法,列如Role角色表,User使用者表,每一個使用者多有對應的roleid(角色id) return $this->hasOne(MRole::className(), ['id' => 'roleid']); }