ファルコンボルトで数え方に問題があります。という名前のテーブルがcategory
あり、そこに と の 2 つの列がid
ありcname
、ブログのテーブルもあり、列がありますcategory
。各カテゴリの投稿数を表示したい。
ブログ テーブルに投稿を挿入すると、カテゴリ列にそのカテゴリが挿入されますid
。まず、次のようにすべてのカテゴリのリストを取得します。
[controller]
$categories = Category::find();
$this->view->setVar('category', $categories);
$cx = Blogs::find();
$this->view->setVar('cates',$cx);
[Volt]
{% for categories in category %}
<a href="blog/category/{{categories.cname}}" class="tags">{{ categories.cname }}
<span>[
{% for cx in cates %}
{%if cx.category === categories.id %}
<?php echo(count($cx->category)); ?>
{% endif %}
{% endfor %}
]</span></a>
{% endfor %}
「1 1 1」または「1 1」または「1」のようにレンダリングしますが、「3」または「2」または「1」のようにレンダリングする必要があります。
私もこのように試しましたが、期待される出力が得られませんでした:
{% for categories in category %}
<a href="blog/category/{{categories.cname}}" class="tags">{{ categories.cname }}
<span>[
{% for cx in cates %}
{%if cx.category === categories.id %}
{% if loop.first %} {{ loop.length }} {% endif %}
{% endif %}
{% endfor %}
]</span></a>
{% endfor %}