SQL语句是:
select * from fv_user as u,fv_role as r,fv_role_user as ru where u.id = ru.user_id and r.id=ru.role_id and u.id=6我目前的UserModel.class.php代码是这样的:namespace Home\Model;
use Think\Model\RelationModel;
/**
* 用户与角色关联模型
*/
class UserModel extends RelationModel{
//定义主表名称
//protected $tableName = "user";
//定义关联关系
protected $_link = array(
'role'=>array(
'mapping_type'=>self::MANY_TO_MANY,
'class_name' =>"user",
'mapping_name' =>"role",
'foreign_key'=>'user_id',
'relation_foreign_key'=>'role_id',
'relation_table' => "fv_role_user",
),
);
}我在前台获取不到管理数据,最后一条SQL语句是这样的:SELECT b.* FROM fv_role_user AS a, fv_user AS b WHERE a.role_id = b.id AND a. parent_id='6'我的数据库表是这样的:用户表:fv_user
角色表:fv_role
中间表:fv_role_user
前台执行的代码是这样的:
$arr = D('User')->relation(true)->select();为什么SQL语句会出现这样的啊?求高手告诉我如何用关联模型实现这个SQL!!!
万分感谢!!!
最佳答案