relation()方法获取不到关联数据的问题

浏览:1541 发布日期:2016/03/25 分类:技术分享 关键字: relation
先来看下我的代码:$user = D('user')->relation('role')->field('password',true)->select();关联模型userMoel.class.php代码如下:<?php
namespace Admin\Model;
use Think\Model\RelationModel;
/**
* 用户与角色关联模型
*/
class UserModel extends RelationModel{
    
    /*定义主表名称
    Protected $tableName = 'user';
    */
    //定义关联关系
    Protected $_link = array(
       'role' => array(
             //关联关系MANY_TO_MANY多对多,HAS_ONE一对一,HAS_MANY一对多
          'mapping_type' => MANY_TO_MANY,
          //要关联的模型类名
          'class_name' => 'role', 
          //主表外键
          'foreign_key' => 'user_id',
          //关联表外键
          'relation_foreign_key' => 'role_id',
          //中间表名
          'relation_table' => 'lj_role_user',
          //关联表读取字段名
          'mapping_fields' => 'id,name,remark'
             )
        );
}
?>
运行结果role字段为null,获取不到关联数据,翻找各种文档没找到问题在哪里,今天突然看到一个写法,试了试结果真的查到结果了,那就是把'mapping_type' => MANY_TO_MANY,这一个配置改成'mapping_type' => self::MANY_TO_MANY,,希望对遇到相同问题的朋友提供帮助!
最佳答案
评论() 相关
后面还有条评论,点击查看>>