现在我有2张表, 一张是UserArticle, 存储的是user和article之间的管理, 一张是Article, 存储的是文章.
我想在读取UserArticle的时候, 根据Article表的title做ASC的排序, 并有可能根据title进行查找.
UserArticle的的关系是这么设置的:
public function relations()
{
return array(
'article' => array(self::BELONGS_TO, 'Article', 'articleId', 'alias' => 'article'),
'trigger' => array(self::BELONGS_TO, 'UserRule', 'userRuleId'),
);
}
Article的关系里没有和UserArticle相关的设置.
UserArticle里的action代码如下:
public function actionList() {
$criteria = new CDbCriteria;
if (isset($_GET['ruleId']))
$criteria->condition = 'userRuleId = ' . $_GET['ruleId'];
$criteria->order = 'createdTime DESC';
$array = array('trigger', 'article');
if (isset($_GET['title'])) {
$array['article'] = array('condition' => "title LIKE %{$_GET['title']}%", 'select' => 'id');
}
print_r($array);
//exit;
$pages = new CPagination(UserArticle::model()->with($array)->count($criteria));
$pages->pageSize = self::PAGE_SIZE;
$pages->applyLimit($criteria);
if (isset($_GET['sort'])) {
if ($_GET['sort'] == 'alpha') {
$array['article']['order'] = '??.title ASC';
}
}
$userArticleList = UserArticle::model()->with($array)->findAll($criteria);
$this->render('list',array(
'userArticleList' => $userArticleList,
'pages' => $pages,
));
}
运行后, 提示一下错误
Quote
Unable to count records with composite primary keys. Please explicitly specify the SELECT option in the query criteria.
不解的是select要怎么设置才行呢?