为什么我的查询不能通过ActiveRecord使用?

时间:2018-10-04 22:50:34

标签: php activerecord yii yii1.x

我尝试使用以下代码获取array_diff_key()个模型:

// Note, the actual values can be anything. The keys just need to be set.
$ignores = [
    'frame2' => false,
    'cover2' => false,
    'color2' => false,
]; 

$velocityExecution = $velocityInsertPrep->execute(array_diff_key($salesValues, $ignores));

但是我得到它不起作用:

  

ILIKE附近的数据库错误。

2 个答案:

答案 0 :(得分:0)

我认为您使用错误的CDbCriteria方法进行查询。尝试对ILIKE使用addSearchCondition

$criteria->addSearchCondition("name", "art", true, "AND", "ILIKE");

答案 1 :(得分:0)

您应在搜索值中使用%通配符:

$criteria = new CDbCriteria();
$criteria->addCondition("type = :type and name ILIKE :name");
$criteria->params = [
    ":type" => 1,
    ":name" => '%art%',
];
$articles = Articles::model()->findAll($criteria);