【发布时间】:2018-05-14 23:37:45
【问题描述】:
我有一个名为 ChatMessage 的类。 DB 中有 2 个主要列(from_user、to_user)。我想将这两列之一与用户模型 ID 相关联。如何使用看起来像这样的关系查询
public function getChattedUser()
{
return $this->hasOne(User::className(), '(case when(chat_message.from_user={Yii::$app->user->id}) then chat_message.to_user else chat_message.from_user END)=user.id');
}
【问题讨论】:
-
如果您在表模式中添加了约束,在生成模型时您应该在生成的模型中定义
getFromUser和getToUser关系,它们不满足您的要求吗?正如我所看到的,您正在尝试获取与当前登录用户聊天的用户数量