繁体   English   中英

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

[英]Why does my query not work using ActiveRecord?

我尝试使用以下代码获取Article模型:

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

但这不起作用我得到:

ILIKE附近的数据库错误。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM