$criteria = new CDbCriteria();
$criteria->with = array(‘role’=>array(‘condition’=>‘roleId=:roleId’, ‘params’=>array(’:roleId’=>5)));
$criteria->limit=5;
$criteria->offset=0;
$dataProvider = new CActiveDataProvider(‘ContentData’);
$dataProvider->setCriteria($criteria);
$rows = $dataProvider->getData();
现在的问题是只要加上
$criteria->limit=5;
$criteria->offset=0;
这两句的其中一句,结果就会出错.
不符合条件的数据也会被查询出来.
有没有人帮忙指点一下?
$criteria = new CDbCriteria();
$criteria->with = array(‘role’=>array(‘condition’=>‘roleId=:roleId’, ‘params’=>array(’:roleId’=>5)));
$criteria->limit=5;
$criteria->offset=0;
$rows = ContentData::model()->findAll($criteria);
这样查询也会出错.
好像是没有关联上…
‘condition’=>‘roleId=:roleId’
没有起作用.
$criteria = new CDbCriteria();
$criteria->join = ‘inner join ContentDataRole on t.id = dataId’;
$criteria->condition = ‘ContentDataRole.roleId = 5’;
$criteria->limit=5;
$criteria->offset=0;
解决了.这样才能关联上.