Yii使用正则表达式来查找findAllByAttributes

时间:2014-01-19 08:10:52

标签: php sql regex yii

是否可以检查它是否具有给定字符串作为子字符串而不是整个字符串中的all all by attributes。

$posts = Post::model()->findAllByAttributes(array("tag"=>"bad"));

假设有一个帖子有一个标签破坏,坏我想也能找到那个帖子,或者事实上任何帖子在其字符串标签中都有子字符串“bad”,如正则表达式。< / p>

2 个答案:

答案 0 :(得分:3)

利用Yii中的精彩,使用下面的代码 -

$criteria = new CDbCriteria();
$criteria->compare('tag','bad',true,'AND',true);
$posts = Post::model()->findAll($criteria);

阅读compare,了解有关其工作原理的更多信息。

答案 1 :(得分:1)

您可以尝试以下

$match = "bad";

$match = addcslashes($match, '%_'); // escape LIKE's special characters
$q = new CDbCriteria( array(
    'condition' => "tag LIKE :match",         // no quotes around :match
    'params'    => array(':match' => "%$match%")  // Aha! Wildcards go here
) );

$Post= Post::model()->findAll( $q );