【发布时间】:2016-08-12 22:17:56
【问题描述】:
我正在尝试在Yii2 中使用名为user_comment_user 的桌子上的viaTable 来查找UserComment 的数量。但是我似乎无法正确插入我的variables/query。
目前我已经设置了两个queries,以检查它们是否(自己)获得了正确的结果,他们确实这样做了。
这两个queries 必须以某种方式将merged 合二为一:
public function findConversation($id)
{
$query = $this->hasMany(UserComment::classname(), ['id'=>'user_comment_id'])
->viaTable('user_comment_user', ['sender_id'=>'id'], function ($query) use ($id) {
$query->andWhere(['receiver_id'=>$id]);
});
$query2 = $this->hasMany(UserComment::classname(), ['id'=>'user_comment_id'])
->viaTable('user_comment_user', ['receiver_id'=>'id'], function ($query) use ($id) {
$query->andWhere(['sender_id'=>$id]);
});
return $query;
}
【问题讨论】:
-
你能解释一下预期的结果是什么吗?
-
@KostasMitsarakis 我需要获取所有 UserComment,其中 sender_id 为 $this->id 且 receiver_id 为 $id,反之亦然。按日期排序。