我是Yii框架的新手。事实上,它上周被扔在了我腿上。在电子邮件确认上,我需要打印帖子的"数量"。例如,3个帖子。
问题是我不知道如何统计帖子并将其打印在确认书上。是否将数据库查询添加到控制器而不是表单?然后打印出如下帖子的数量?-
<?php echo $posts->count($posts);
我只是对使用框架有点困惑。我需要一点推力
提前谢谢。
我已经很久没有使用yii了,所以我有点生疏了。
我要做一个假设:$post
是从CActiveRecord扩展而来的CActiveRecord使用的计数函数需要一个sql条件(此处注明)。
我的下一个假设是,您在视图中而不是在控制器中准备所有这些业务逻辑。您可以考虑从视图发送到装饰器,以获得您的电子邮件确认消息。
这是未经测试的,但下面我们需要比较所有的pk的帖子:
echo $posts->count('fieldDate < now() AND fieldDate >' . strtotime('yesterday'));
更好更容易的可能是:
echo $posts->countByAttributes(array('postID'));
如果你想统计作者的所有帖子(也未经测试):
$numberOfPosts = count(PostModel::model()->findAll("author_id=$authorId"));
否则,您可以尝试:count($posts);
如果您正在接收已在视图中的前一个控制器中查询的post对象的数组。
胖模型,瘦控制器。