+ -
当前位置:首页 → 问答吧 → 关联模型

关联模型

时间:2011-06-28

来源:互联网

现在有三个表
member表:
id   shop_id   rank_id   name
1      1             2         张三
2      2             2         李四

shop表:
id  name
1   衣服店
2   帽子店

rank 表
id   name
1    普通会员
2    VIP会员

关联模型
class ManagerModel extends RelationModel {
  protected $_link=array(
    'Shop'=>array(
        'mapping_type'=>BELONGS_TO,
        'foreign_key'=>'shop_id',
        'as_fields'=>'name:sname',
    ),
    'Rank'=>array(
        'mapping_type'=>BELONGS_TO,
        'foreign_key'=>'rank_id',
        'as_fields'=>'name:rank_name',
    ),
);
}

这样只显示member和shop的信息,而rank表不显示。是什么原因呢?或者应该怎么做呢?

作者: justo911   发布时间: 2011-06-28

你在查询的时候有些relation(true)吗?

作者: binbin   发布时间: 2011-06-28

当然有,不然member和shop这两个表的字段就不会显示了。
一旦两个表都加上'as_fields'就不行。后来我改成一个表用'mapping_fields',一个表用'as_fields'就可以,如下代码:
protected $_link=array(
    'Shop'=>array(
        'mapping_type'=>BELONGS_TO,
        'foreign_key'=>'shop_id',
        'mapping_fields'=>'name',  
        //'as_fields'=>'name:sname',
    ),
    'Rank'=>array(
        'mapping_type'=>BELONGS_TO,
        'foreign_key'=>'rank_id',
        'as_fields'=>'name:rank_name',
    ),
);

作者: justo911   发布时间: 2011-06-28

热门下载

更多