我有两个表消息的模型和包含字段的用户:
消息:id message created_date status
用户:id usr_name
我有另一个没有模型的表message_to:
message_to:id message_id user_id status
现在,我的问题是我需要从usertable中获取用户名 当前消息模型中message_to中的user_id。我该怎么创造 这个关系?我不想在这里使用查询构建器。
答案 0 :(得分:1)
在消息模型中:
<?php
class Message extends CActiveRecord {
// ...
public function relations() {
return array(
'user' => array(
self::BELONGS_TO,
'User',
'{{message_to}}(message_id, user_id)'
),
);
}
}
然后像$message->user->usr_name;
要能够获取用户的消息,您可以在用户模型中编写关系:
<?php
class User extends CActiveRecord {
/...
public function relations() {
return array(
'messages' => array(
self::HAS_MANY,
'Message',
'{{message_to}}(user_id, message_id)'
),
);
}
}
然后像foreach($user->messages as $message) { ...