2015-02-08 4 views
1

Я новичок в Yii Framework. На самом деле, он был сброшен на мои колени на прошлой неделе. При подтверждении электронной почты мне нужно напечатать «число» сообщений. Например, 3 сообщения.Yii Framework - CHtml

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

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

Я просто немного смущен использованием рамки. Мне нужно немного толкнуть.
Спасибо заранее.

ответ

2

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

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

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

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

echo $posts->count('fieldDate < now() AND fieldDate >' . strtotime('yesterday'));

Лучше и проще может быть:

echo $posts->countByAttributes(array('postID'));

Если вы хотите сосчитать все сообщения автора (также не проверены):

$numberOfPosts = count(PostModel::model()->findAll("author_id=$authorId"));

В противном случае вы можете попробовать: count($posts); Если вы получаете массив почтовых объектов, которые были запрошены в предыдущем контроллере в представлении.

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

+0

На самом деле после осмотра есть функция в контроллере. Контроллер получает имя, фамилию и т. Д., Которые поступают из формы ... –

+0

@ user4543794 Что вы пытаетесь выполнить? Количество сообщений, основанных на идентификаторе автора? – Protomancer

+0

Да от автора id. –