CakePHP — перебор переменных, передаваемых от контроллера к представлению, с помощью простого запроса

#cakephp #cakephp-1.3

#cakephp #cakephp-1.3

Вопрос:

Я передаю следующую переменную tagsCount из моего контроллера в просмотр:

 $this->set('tagsCounts', $this->Tag->query('
    (
        SELECT
            t.id, t.sk_name, 0 AS count
        FROM
            tags t
        WHERE
            t.id NOT IN (
                SELECT tag_id
                FROM   video_tags vt
            )
    )
    UNION
    (
        SELECT
            t.id, t.sk_name, COUNT( * ) as count
        FROM
            videos v
            JOIN
                video_tags vt ON ( v.id = vt.video_id )
            JOIN
                tags t ON ( t.id = vt.tag_id ) 
        GROUP BY
            t.id
        ORDER BY
            COUNT( * ) asc
    )'
));
  

И в представлении я хочу выполнить итерацию через эту переменную. Я использую этот код:

 <?php for($z = 0; $z < sizeof($tagsCounts); $z  ): ?>
    <?php echo $tags[$z]['Tag']['count'];?>
    <br>
<?php endfor; ?>
  

Но это вызывает эту ошибку:

Строгие стандарты: нестатический метод String::insert() не должен вызываться статически, предполагая, что $this из несовместимого контекста в /storage/hotweb/admin.porner.sk/cake/libs/debugger.php в строке 673

а также

Примечание (8): неопределенный индекс: количество [APP/views/tags/index.ctp, строка 20]

Не могли бы вы помочь мне, как выполнить итерацию по этой переменной и напечатать только столбец с именем «count»?

Комментарии:

1. Пожалуйста, всегда указывайте свою точную версию CakePHP и соответствующим образом помечайте свой вопрос! ps. почему вы не используете CakePHP ORM и не избегаете таких странных запросов, что избавило бы вас от многих проблем?

2. Я использую версию 1.3.8. И я жестко запрашиваю эту модель, потому что мне было довольно сложно выбрать, и я не знал, как использовать ORM для извлечения этих данных.

3. можете ли вы вставить var_dump($tags) сюда?