yii的relations要怎么写?熟悉YII的朋友们帮看看

aier520 2013-09-05 08:22:26
表一 (city)
id name code
1 北京 0001
2 上海 0002


表二 (user)
id username citycode
1 小李 0001
2 小王 0001
3 小红 0002

第二个表的citycode字段是第一个表的code字段相对应

在YII的model里要怎么写这两个model的relations要怎么写呢?
city表的对应model (City.php)

<?php
class City extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}

public function tableName()
{
return 'city';
}

public function relations()
{
return array(
//'user' => array(self::HAS_MANY, 'User', 'code'),这里不知道要怎么写,这样写不知道对不对?
);
}
//…………
}


user表的对应model (User.php)

<?php
class User extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}

public function tableName()
{
return 'user';
}

public function relations()
{
return array(
//'city' => array(self::BELONGS_TO, 'City', 'citycode'),这里不知道要怎么写,这样写不知道对不对?
);
}
//…………
}



按我上面的写法,在视图(view)文件里 使用如:$data->city->name 或 $data->user->username会出错。
初学YII 对relation不知道要怎么写,麻烦知道的朋友指导下,谢谢了!
...全文
133 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rechard0121 2013-11-22
  • 打赏
  • 举报
回复
我也是个新手,说说我的看法! 首先你的表就有问题,作为两个表产生 关联是因为有 外键约束。而你的第一个表中的字段 citycode不是主键,那么就不能作为外键。就谈不上,两个表之间的联系了。 如果,你的表创建如下: create table city( cityCode varchar(25) not null primary key, name varchar(128) not null, ); create table user( id int(11) primary key, name varchar(128) not null, cityCode varchar(25) not null, foreign key(cityCode) references city(cityCode), ); 建立了外键之后, 描述 关联关系: User 中: return array('user'=>array(self::BELONGS_TO, 'City', 'cityCode')); City中: return array('city'=>array(self::HAS_MANY, 'User', 'cityCode'));
aier520 2013-09-09
  • 打赏
  • 举报
回复
自己顶,顶到明天,再没回复,结帖
aier520 2013-09-08
  • 打赏
  • 举报
回复
没人帮解决吗?

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧