2016-09-28 7 views
1

私はファルコンの問題に直面しています。私のブログでは、カテゴリテーブルは "a、b、c、d、e、f、g、h、i"のようなカテゴリーのリストを持ち、ブログテーブルにはカラム名カテゴリがあります。カテゴリの列に私はカテゴリのIDを挿入しています。今問題は、各カテゴリにどれくらいの投稿があるのか​​を数えたいと思うことです。私は期待される結果を得ることができません。結果のカウント結果は結果[0]を示します。私のせいだ?ファルコン(ボルト単位)

ここで参照としてあなたがモデルの関係を使用して恩恵を受ける

{% for categories in category %} 
    <a title="{{categories.cname}}" href="blog/category/{{categories.cname}}" class="tags"> 
     {{ categories.cname }} <span>[ {{ccat}} ]</span></a> 
    {% endfor %} 
+0

使用関係を、カテゴリは私が見ることができるものからブログをhasManyの。次に、ドキュメントごとにモデルカウント方法を使用します。ポイントは、カウントは、SQL/DBの部分から行う必要があります。 –

+0

してください!モデル関係の例を挙げる –

答えて

0

[ブログコントローラ]

$categories = Category::find(); 
    $this->view->setVar('category', $categories); 

    $ab = Blogs::countBycategory($categories->id); 
    $this->view->setVar('ccat',$ab); 

[インデックス表示]: https://docs.phalconphp.com/uk/latest/reference/models.html#relationships-between-models

基本的に自分のカテゴリのモデルは次のようになりこれは:

<?php 

class Category extends \Phalcon\Mvc\Model 
{ 
    public function initialize() 
    { 
     $this->hasMany("id", "Blogs", "category_id", [ 
      "alias" => "articles" 
     ]); 
    } 
} 

次に、このような何か、カテゴリごとの記事の数を取得するには:初心者のためのモデルで

$categories = Category::find(); 
foreach($categories as $category) { 
    echo $category->cname . " " . count($category->articles) . "\n"; 
}