我现在有3张表,用THINKPHP的关联模型如何定义关联模型 10

一张是用户表(user),一张是角色表(role),一张是用户角色表(role_user)三张表,如何用ThinkPHP关联模型建立?求高手解答...谢谢... 一张是用户表(user),一张是角色表(role),一张是用户角色表(role_user)三张表,如何用ThinkPHP 关联模型建立?求高手解答...谢谢 展开
 我来答
kkscope
2020-03-29
知道答主
回答量:6
采纳率:0%
帮助的人:4940
展开全部
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,代码如下
<?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代码如下:
<div>本班级的作业</br>
<ui>
{volist name="rolelist" id="task"}
<li>
<p> 角色:{$rolelist.id} ,{$rolelist.name}, {$rolelist.level} </p>
</li>
{/volist}
</ui>
</div>
关系有点绕,需要你仔细品读,我也是刚刚学会的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式