many to many关联
1、在model层的user.php 加入如下代码
public function role(){
return $this->belongsToMany('role','p_role_user');
}
2、在model层的role.php加入如下代码
public function user(){
return $this->belongsToMany('user','p_role_user');
}
3、在逻辑层,创建logic文件夹,与model同层次,logic文件夹下创建user.php,代码如下
namespace app\index\logic;
use think\Model;
use app\index\model\User as ModelUser;
class User extends Model
{ //获取当前用户的所有角色
public function getRoles($id) {
$use=ModelUser::get(['id'=>$id]);
return $use->task;
}
}
4、在Controller的user.php中 添加如下方法
public function showuserroles (Request $request)
{ $uid= $request -> param('id');
$logics=\think\Loader::model('User','logic' );
$rolelist=$logics->getRoles($uid);
$this->assign('rolelist',$rolelist);
return $this->view->fetch('User_role') ; // view 下的User_role.html显示结果
}
5、某个页面使用ajax调用user控制器 showuserroles 方法,User_role.html代码如下:
角色:{$rolelist.id} ,{$rolelist.name}, {$rolelist.level}