CakePHP - 使用普通查询迭代从Controller传递给View的变量

时间:2014-06-26 09:44:12

标签: 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
    )'
));

在View中我想通过这个变量进行迭代。我正在使用此代码:

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

但它会导致此错误:

  

严格标准:非静态方法不应该静态调用String :: insert(),假设来自673行/storage/hotweb/admin.porner.sk/cake/libs/debugger.php中的不兼容上下文中的$ this

以及

  

注意(8):未定义的索引:count [APP / views / tags / index.ctp,第20行]

你能帮我解决一下如何迭代这个变量并只打印名为&#34; count&#34;?

的列

0 个答案:

没有答案