Yii Framework - CHtml

Я новичок в Yii Framework. На самом деле, он был сброшен мне на колени на прошлой неделе. На подтверждении по электронной почте мне нужно напечатать "количество" постов. Например, 3 поста.

Проблема, я не уверен, как посчитать сообщения и напечатать это в подтверждении. Я добавляю запрос БД в контроллер вместо формы? А затем распечатать количество сообщений, как показано ниже? -

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

Я просто немного запутался, используя фреймворк. Мне нужно немного подтолкнуть.
Заранее спасибо.

1 ответ

Прошло довольно много времени с тех пор, как я использовал yii, поэтому я немного заржавел.

Я собираюсь сделать предположение: $post расширена от CActiveRecord. Для функции подсчета, используемой CActiveRecord, требуется условие sql ( отмечено здесь).

Следующее мое предположение заключается в том, что вы готовите всю эту бизнес-логику, по вашему мнению, а не в контроллере. Вы могли бы рассмотреть возможность отправки из представления в декоратор, чтобы получить подтверждение по электронной почте.

Это не проверено, но ниже мы должны сравнить все ПК сообщений:

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, которые были запрошены в предыдущем контроллере в представлении.

Жирная модель, тонкий контроллер.

Другие вопросы по тегам