Php 查询生成器嵌套条件

Php 查询生成器嵌套条件,php,mysql,yii,Php,Mysql,Yii,我有Yii查询生成器命令: echo Yii::app()->db->createCommand() ->select('*') ->from('table') ->where('a = 1') ->orWhere(['like', 'b', '%A%']) ->orWhere(['like', 'b', '%B%']) ->text; 它将生成以下查询: 从表中选择*,其中a=1或b类似于“%a%

我有Yii查询生成器命令:

echo Yii::app()->db->createCommand()
    ->select('*')
    ->from('table')
    ->where('a = 1')
    ->orWhere(['like', 'b', '%A%'])
    ->orWhere(['like', 'b', '%B%'])
    ->text;
它将生成以下查询: 从表中选择*,其中a=1或b类似于“%a%”或b类似于“%b%”

如何编写嵌套查询以获得如下结果:
从表中选择*,其中a=1和b类似于“%a%”或b类似于“%b%”

不确定是否严格按照您所提到的方式使用。我的意思是你可以通过简单的字符串来实现

如果你想完全按照你的方式,那么我不确定bcz我还没有测试代码,但我认为它应该工作。例如

它将仅在a=1时生成。
Yii::app()->db->createCommand("SELECT * FROM table WHERE a = 1 AND (b LIKE '%A%' OR b LIKE '%B%')");
 ->where('a = 1',
array('and',
array("b LIKE '%A%'",
array('OR',
array("b LIKE '%B%'")))))