2015-04-24 38 views
1

有2个活动记录模型问题(Q)和答案(A)。Yii2,ActiveQuery搜索模型是否存在关系模型

为了简单起见,我省略不重大属性:

  • Q:question_id
  • :answer_id,question_id

Q的hasMany ,链路由question_id

public function getAnswers() 
{ 
    return $this->hasMany(Answer::className(), ['question_id' => 'question_id']); 
} 

我怎样才能找到创造查询只发现Q车型,其中至少有一个相关一个模式?

此查询在ActiveDataProvider中基本需要Q搜索模型。

回答

1

使用innerJoinWithdoc):

Q::find()->innerJoinWith(['answers'])->all(); 
+0

谢谢@ vitalik_74,它的工作原理。对于ActiveDataProvider查询,必须没有' - > all()' –