Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 28 мар 2024, 16:19

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Подсчет статей в категориях
СообщениеДобавлено: 29 мар 2012, 02:38 
Не в сети
Новичок

Зарегистрирован: 27 мар 2012, 14:58
Сообщения: 15
admin писал(а):
ну видимо для каждой категории вызывать
Цитата:
$count = DB::select(DB::expr('COUNT(`id`) AS mycount'))
->from('comments')
->where('article_id', '=', $article_id);


передавая каждый раз новое $article_id


Я это понял, сейчас подробней объясню в чем проблема.

Смотрите вот пример контроллера:

Код:
<?php
$categories = Model::factory('category')->categories();
$col_article = Model::factory('article')->all_count($article_id); // как тут получить $article_id, где его взять? $categories['id'] - выводит ошибку. Думаю теперь поняли в чем моя проблема.

$content = View::factory('index/v_main', array(
  'categories' => $categories,
)
);
?>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет статей в категориях
СообщениеДобавлено: 29 мар 2012, 17:15 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Тупанул вчера пивка выпил )) можно использовать груп бай и обойтись одним запросом. Все равно медленно,но уже не так. Пардон сижу щас с айпада в кафе. Прийду домой,отвечу более основательно

Насчет получения категорий. Нужно посмотреть, что у вас возвращается. Наберите
var_dump($categories) после фабрики. Скорее всего обратится можно будет как-то вроде $categories->id

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет статей в категориях
СообщениеДобавлено: 29 мар 2012, 22:01 
Не в сети
Супермодератор
Аватара пользователя

Зарегистрирован: 13 фев 2012, 22:24
Сообщения: 65
Откуда: оттуда
Вам нужно в модели поменять на
Код:
return $query->execute()->as_array();

если вы хотите, чтобы возвращался массив.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет статей в категориях
СообщениеДобавлено: 29 мар 2012, 22:08 
Не в сети
Новичок

Зарегистрирован: 27 мар 2012, 14:58
Сообщения: 15
admin писал(а):
Тупанул вчера пивка выпил )) можно использовать груп бай и обойтись одним запросом. Все равно медленно,но уже не так. Пардон сижу щас с айпада в кафе. Прийду домой,отвечу более основательно

Насчет получения категорий. Нужно посмотреть, что у вас возвращается. Наберите
var_dump($categories) после фабрики. Скорее всего обратится можно будет как-то вроде $categories->id


Пробовал я таким методом, не помогало.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет статей в категориях
СообщениеДобавлено: 29 мар 2012, 22:09 
Не в сети
Новичок

Зарегистрирован: 27 мар 2012, 14:58
Сообщения: 15
eBasher писал(а):
Вам нужно в модели поменять на
Код:
return $query->execute()->as_array();

если вы хотите, чтобы возвращался массив.


А вот за это огромное спасибо :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет статей в категориях
СообщениеДобавлено: 29 мар 2012, 22:12 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Вы вар_дамп делали ? Что пишет ?
У вас сейчас возвращает объект, а в случае, что написал eBasher будет возвращаться массив. Работать можно и с тем, и с другим. Вопрос удобства.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет статей в категориях
СообщениеДобавлено: 29 мар 2012, 22:18 
Не в сети
Новичок

Зарегистрирован: 27 мар 2012, 14:58
Сообщения: 15
admin писал(а):
Вы вар_дамп делали ? Что пишет ?


Выводит это:
Код:
object(Database_MySQL_Result)[20]
  protected '_internal_row' => int 0
  protected '_query' => string 'SELECT * FROM `category` ORDER BY `name` DESC' (length=45)
  protected '_result' => resource(76, mysql result)
  protected '_total_rows' => int 5
  protected '_current_row' => int 0
  protected '_as_object' => boolean false
  protected '_object_params' => null


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет статей в категориях
СообщениеДобавлено: 29 мар 2012, 22:38 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Ааа...
Можно написать так:
Код:
return $query->as_object()->execute(); 


чтобы вернуть объект. Но тут лучше все-таки работать с массивом. Имхо )

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет статей в категориях
СообщениеДобавлено: 16 апр 2012, 16:51 
Не в сети
Зеленый

Зарегистрирован: 14 апр 2012, 16:03
Сообщения: 6
Думаю, нужно как то
Код:
group by $article_id
сделать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет статей в категориях
СообщениеДобавлено: 17 апр 2012, 10:41 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Ну да, о чем я и писал. Но если количество статей предполагается очень большое, то лучше все-таки отдельное поле завести.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group