您好,登錄后才能下訂單哦!
TP5中完全推翻了3.2的做法,不再使用原來的查詢語句,比如select,join之類的條件查詢。而是使用模型關聯,一對多和多對多的關系進行關聯。方便用戶調用數據,減少代碼的編寫量。
下面直接開始上代碼:
role.php(model層)
class Role extends Model{
public function Nodes()
{
return $this->belongsToMany('Node','RoleAuthorization','node_id','role_id');
}
}
user.php(model層)
class User extends Model{
public function Roles(){
return $this->belongsToMany('Role','RoleUser','pms_role_id','pms_user_id');
}
}
另外幾張表只需要寫一個模型就OK,不用寫任何東西,它會自動調用。(node,roleauthorization,roleuser)
在控制器調用model,直接實例化,調用你寫的方法
$user_model = Loader::model('User');
$user_result = $user_model->get(1);
echo $user_result.'<br/>';
$data = $user_result->Roles;
foreach ($data as $key => $value) {
echo $value['id'].'<br/>';
echo $value['name'].'<br/>';
// $aa = $data->Nodes;
// dump($value->Nodes);
foreach ($value->Nodes as $pk=>$pv){
echo $pv->node."<br/>";
}
}
首先,字段pms_role_id,pms_user_id字段在中間表roleuser里,注意字段的順序,根據你關聯表的順序來進行寫的,順序錯誤數據就會不對。node_id,role_id字段在roleauthorization表里。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。