Yii1-CActiveDataProvider标准未按预期工作

Yii1-CActiveDataProvider标准未按预期工作,yii,yii1.x,Yii,Yii1.x,我正在尝试将此查询转换为cactivedaptaprovider: // SELECT p.id " // . "FROM projects AS p " // . "LEFT JOIN purged_files AS pf ON p.id = pf.project_id " // . "WHERE pf.id IS NULL " // . "AND `new_status_id` IN ('DELIVERED', 'PAID') " // . "AND

我正在尝试将此查询转换为
cactivedaptaprovider

// SELECT p.id "
//     . "FROM projects AS p "
//     . "LEFT JOIN purged_files AS pf ON p.id = pf.project_id "
//     . "WHERE pf.id IS NULL "
//     . "AND `new_status_id` IN ('DELIVERED', 'PAID') "
//     . "AND `created` <= '" . date("Y-m-d H:i:s", strtotime("-" . $lifetime_days . " DAYS")) . "' "
//     . "ORDER BY id DESC "
//     . "LIMIT 0, 5000")
//选择p.id”
//“从作为p的项目”
//“在p.id=pf.project\u id上将清除的\u文件作为pf左连接”
//“其中pf.id为空”
//“和('已交付'、'已支付')中的'new_status_id'”

//“和`created`您在您的条件中使用了不正确的别名。主模型表的别名为
t
,因此您应该在您的条件下使用
t
作为别名,而不是
project

$criteria->alias = 'project';
覆盖条件中的别名:

CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'project.id' in 'on clause'. The SQL statement executed was: SELECT COUNT(*) FROM `projects` `t` LEFT JOIN purged_files ON project.id = purged_files.project_id WHERE (`t`.`status` <> "DELETED" AND `t`.`status` <> "CANCELED" AND `t`.`status` <> "ARCHIVED") AND (`new_status_id` IN ('DELIVERED', 'PAID') AND `created` <= '2017-12-29 13:31:42')
$criteria->order = "t.id desc";
$criteria->alias = 'project';