1

我有一个保存相关帖子 ID 的表。

$criteria = new CDbCriteria;
$criteria -> select = 'content_2';
$criteria -> condition = 'content_1=:c';
$criteria -> limit = $count;
$criteria -> params = array(':c' => $id);
$posts_id = SiteContentRelated::model() -> findAll($criteria);

$ids = array();

foreach ($posts_id as $value) {
    $ids[] = intval($value['content_2']);
}

$posts = SiteContent::model()->findAllByPk($ids);

echo '<pre style="direction:ltr;">';
print_r(count($posts));
echo "</pre>";
die();

结果:

1

而且我确定表中的行数(3行)。我的错误在哪里?

4

1 回答 1

0

由于我们不知道您的数据集,您应该先尝试调试:

相比 :

count(SiteContent::model()->findAll())

count(SiteContent::model()->findAllByPk($ids))

如果结果不同,则您的查询不是您想要的。如果它们都不正确,则说明您没有正确的数据集。

其次,您应该使用 var_dump 而不是 print_r 进行调试。Print_r 将布尔值显示为 1 或 0,而不是它们的实际值

于 2013-01-08T12:29:14.300 回答