Я новичок в Yii Framework. На самом деле, он был сброшен мне на колени на прошлой неделе. На подтверждении по электронной почте мне нужно напечатать «количество» постов. Например, 3 поста.
Проблема, я не уверен, как посчитать сообщения и напечатать это в подтверждении. Я добавляю запрос db к контроллеру вместо формы? А затем распечатать количество сообщений, как показано ниже? —
<?php echo $posts->count($posts);
Я просто немного запутался, используя фреймворк. Мне нужно немного подтолкнуть.
Заранее спасибо.
Прошло довольно много времени с тех пор, как я использовал 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, которые были запрошены в предыдущем контроллере в представлении.
Жирная модель, тонкий контроллер.
Других решений пока нет …