1

我想要关系的基本语法及其参数

我需要这些澄清

  • BELONGS_TO 和 HAS_ONE 之间的区别?
  • 我想在 CGridView 上使用关系(该关系将另一个表元素称为外键)例如我有三个表
  • 信使
  • 用户登录
  • 用户资料

我在 Messenger Admin Grid 我有 UserLogin 表的主键那个 userlogin 有 userprofile 主键现在我想访问我的网格中的 userProfile 字段

我已经尝试过(通过)关系,比如

它在 Messenger 模型中

    'relationeg'=>array(self::HAS_ONE,'Userprofile',array('user_id'=>'id'),'through'=>'user'),
'user'=>array(self::BELONGS_TO, 'UserLogin','user_id'),

我在我的网格上访问这个

    .....
    ....
array(
    'name'=>'message_by',
    'value'=>'$data->relationeg->username'
),
....
...

但是我得到了与基表记录的键完全不同的错误数据

我对这条线有疑问

'relationeg'=>array(self::HAS_ONE,'Userprofile',array('user_id'=>'id'),'through'=>'user'),

在这个 self::HAS_ONE 中是什么意思?当我添加连接查询的 where 条件时,将如何在此添加条件

提前谢谢

欢迎你的回答

4

1 回答 1

1

KEY POINT : BELONGS_TO 关系表示此模型中的字段指向另一个模型中的主键;在这种情况下,当前模型拥有链接字段。

KEY POINT: HAS_ONE 关系表示某个其他模型具有指向该模型主键的链接字段;在这种情况下,相关模型拥有链接字段。

我们可以认为 PARENT 表是没有外键的表,而 CHILD 表是“依赖”父表的表,即它有一个外键。

鉴于此,一个 CHILD BELONGS_TO一个 PARENT 和一个 PARENT HAS_ONE CHILD。

答案在这里

于 2014-05-07T06:21:49.030 回答