2013-09-24 88 views

回答

1

使用addInCondition了这样的场景。

$emails = '[email protected],[email protected]'; 
$emailsArray = explode(',', $emails); 
$criteria = new CDbCriteria(); 
$criteria->addInCondition("email", $emailsArray); 
$users = User::model()->findAll($criteria); 
+0

我怎么能存储'“[email protected]”,'TEST1 @ '$ email'中的gmail.com'',所以我可以动态地添加更多的电子邮件ID。 – overflow

+0

@Setout答案更新,希望它可以帮助你。 –

1

这取决于你想达到什么。 如果你想查找所有用户提供匹配的地址,你可以使用explode以逗号分隔的列表转换为数组:

$emails = explode(',', $email); 
$users = User::model()->findAllByAttributes(array('email'=>$emails)); 
0

你可以试试这个方法...

$email1="[email protected]"; 
$email2="[email protected]"; 
$users = User::model()->findAllByAttributes(array('email'=>array($email1,$email2))); 
print_r($users); 

,如果你想检查多个电子邮件,然后使用CDbcriteria ..

addInCondition()这是最好的办法......

为前..

$email = '[email protected],[email protected]'; 
$emails = explode(',',$email); 
$criteria->addInCondition('email',$emails); 
$user=User::model()->findAll(array($criteria))); 
print_r($users); 

没有实际尝试这个代码,但希望它可能工作/帮助你...

+0

我可能有这样的情况下,更多的10封电子邮件是如何工作的无环路 – overflow

+0

刚刚更新了我的答案..它可以解决你的问题 – Kalpit