1

我是 Yii 框架的新手。事实上,它上周被扔在了我的腿上。在电子邮件确认中,我需要打印“数量”的帖子。例如,3 个帖子。

问题我不确定如何计算帖子并将其打印在确认信息中。我是否将数据库查询添加到控制器而不是表单?然后打印出下面的帖子数量?-

<?php echo $posts->count($posts); 

我只是对使用框架有点困惑。我需要一点推动力。
先感谢您。

4

1 回答 1

2

我已经有一段时间没有使用 yii 了,所以我有点生疏了。

我将做一个假设:从 CActiveRecord$post扩展而来的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);如果您正在接收已在视图中的前一个控制器中查询的帖子对象数组。

胖模型,瘦控制器。

于 2015-02-08T20:09:38.227 回答