在Yii中使用CDBC标准构建特定的where条件

在Yii中使用CDBC标准构建特定的where条件,yii,Yii,我如何使用CDbCriteria建立如下条件 ( title LIKE :yc0 OR description LIKE :yc0 OR tags LIKE :yc0 ) AND ( user=:yc1 OR user=:yc2 ) 我只想使用CDbcriteria的两种方法来实现这一点,即compare()和addSearchCondition()。我假设您希望%通配符围绕类似的值: $Criteria = new CDbCri

我如何使用CDbCriteria建立如下条件

(
   title LIKE :yc0 
   OR 
   description LIKE :yc0 
   OR 
   tags LIKE :yc0
) 
AND 
(
   user=:yc1 
   OR 
   user=:yc2
)

我只想使用CDbcriteria的两种方法来实现这一点,即compare()和addSearchCondition()。我假设您希望
%
通配符围绕类似的值:

$Criteria = new CDbCriteria;

$Criteria->addCondition('title LIKE :value OR description LIKE :value OR tags LIKE :value');
$Criteria->addCondition('user = :user1 OR user = :user2');

$Criteria->params = array(
    ':value' => '%'.$value.'%',
    ':user1' => $user1,
    ':user2' => $user2,
);

$YourModels = YourModel::model()->findAll($Criteria);
或者,如果要使用
添加搜索条件
比较

$value = 'foo';
$user1 = 1;
$user2 = 2;

$Criteria = new CDbCriteria;

$Criteria->addSearchCondition('title', $value, true, 'OR', 'LIKE');
$Criteria->addSearchCondition('description', $value, true, 'OR', 'LIKE');
$Criteria->addSearchCondition('tags', $value, true, 'OR', 'LIKE');

$Criteria->compare('user', array($user1, $user2));

$YourModels = YourModel::model()->findAll($Criteria);

试试下面的方法。我假设您希望
%
通配符围绕类似的值:

$Criteria = new CDbCriteria;

$Criteria->addCondition('title LIKE :value OR description LIKE :value OR tags LIKE :value');
$Criteria->addCondition('user = :user1 OR user = :user2');

$Criteria->params = array(
    ':value' => '%'.$value.'%',
    ':user1' => $user1,
    ':user2' => $user2,
);

$YourModels = YourModel::model()->findAll($Criteria);
或者,如果要使用
添加搜索条件
比较

$value = 'foo';
$user1 = 1;
$user2 = 2;

$Criteria = new CDbCriteria;

$Criteria->addSearchCondition('title', $value, true, 'OR', 'LIKE');
$Criteria->addSearchCondition('description', $value, true, 'OR', 'LIKE');
$Criteria->addSearchCondition('tags', $value, true, 'OR', 'LIKE');

$Criteria->compare('user', array($user1, $user2));

$YourModels = YourModel::model()->findAll($Criteria);

我想使用addSearchCondition并比较CDBC标准的方法。你能推荐这些解决方案吗?我想使用addSearchCondition并比较CDBC标准的方法。你能建议这些解决方案吗?