3
の番号は、Yii2
のuser_comment_user
という表のviaTable
を使用して検索しようとしています。しかし、私はvariables
/query
が正しく挿入されていないようです。Yii2 viaTable複数の変数
現在のところ、自分で正しい結果が得られるかどうかを確認するために、2つのqueries
が設定されています。
これらは何とか一つにmerged
する必要が2 queries
です:
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 sender_idが$ this-> idで、receiver_idが$ idで、その逆の場合、すべてのUserCommentを取得する必要があります。日付けで並び替え。 –