需要帮助使用 activedataprovider 构建查询
Need Help for build query with activedataprovider
我想在 yii2 ActiveDataProvider 中执行以下 WHERE 条件
预期条件:
$query="WHERE VoterName Like '%s%' AND (contactno != '' OR whatsapp_no!= '')";
我当前where条件:
$query->andFilterWhere(['like', 'VoterName', $this->VoterName]);
$query->orWhere(['<>', 'contactno', ''])->orWhere(['<>', 'whatsapp_no', '']);
我只想获取那些有 contactno 或 whatsapp_no 的记录。
参考:\yii\db\QueryInterface::where()
下面的查询能满足您的需求吗?
$query->andWhere(['like', 'VoterName', $this->VoterName])
->andWhere(['or',
['!=', 'contactno', ''],
['!=', 'whatsapp_no', '']
]);
当你需要设置多条件时,你必须使用andWhere,例如你的问题:
$query->andFilterWhere(['like', 'VoterName', $this->VoterName]);
$query->andWhere(['OR',['<>', 'contactno', ''],['<>', 'whatsapp_no', '']]);
我想在 yii2 ActiveDataProvider 中执行以下 WHERE 条件
预期条件:
$query="WHERE VoterName Like '%s%' AND (contactno != '' OR whatsapp_no!= '')";
我当前where条件:
$query->andFilterWhere(['like', 'VoterName', $this->VoterName]);
$query->orWhere(['<>', 'contactno', ''])->orWhere(['<>', 'whatsapp_no', '']);
我只想获取那些有 contactno 或 whatsapp_no 的记录。
参考:\yii\db\QueryInterface::where()
下面的查询能满足您的需求吗?
$query->andWhere(['like', 'VoterName', $this->VoterName])
->andWhere(['or',
['!=', 'contactno', ''],
['!=', 'whatsapp_no', '']
]);
当你需要设置多条件时,你必须使用andWhere,例如你的问题:
$query->andFilterWhere(['like', 'VoterName', $this->VoterName]);
$query->andWhere(['OR',['<>', 'contactno', ''],['<>', 'whatsapp_no', '']]);