1

私はsymfonyが初めてで、次は何をしようとしています:

  1. 表からすべてを選択し、行数を数えます。
  2. 小枝テンプレートでこの情報にアクセスして表示します。

これは、データベースからデータをフェッチする専用のコントローラーのコードの一部です。

 .
 .
 .
$em=$this->getDoctrine()->getManager();
            $query=$em->createQuery('SELECT b,COUNT(b.id) FROM AcmeWebBundle:baza b ORDER BY b.id DESC');
    $users = $query->getResult();
    if (!$em) {
        throw $this->createNotFoundException('Something went wrong!');

    }
    return $this->render('AcmeWebBundle:Default:index.html.twig',array('users'=>$users));
}

bazaという名前のテーブルには、id、username、dateなどのフィールドがあります

index.html.twig という名前の twig ファイルの一部

{% extends 'AcmeWebBundle:Default:master.html.twig' %}
{% block body %}
<h1> something</h1><br></br>
{% for user in users %}

{{ ...how to access to the number of rows and other data...}}

{% endfor %}
{% endblock %}
4

2 に答える 2

1

クエリ:

$query = $this->createQueryBuilder()
          ->from('AcmeWebBundle:baza', 'b')
          ->getQuery();

$user = $query->select('b')
           ->getQuery()
           ->getResult();

$total = $query->select('COUNT(b)')
           ->getQuery()
           ->getSingleScalarResult();

.....

return $this->render('AcmeWebBundle:Default:index.html.twig',array('users' => $users, 'count' => $total));

テンプレート:

{% extends 'AcmeWebBundle:Default:master.html.twig' %}

{% block body %}
  <h1> something</h1><br></br>
  {% for user in users %}
    {{ user.id }}
    {{ user.name }}
  {% endfor %}
{% endblock %}

Total users: {{ count }}

DBのidフィールドとnameフィールド。

于 2013-03-27T21:17:53.400 に答える
0

次のことを試すことができます。

{{ user.id }}
{{ user.username }}
{{ user.date }}
...etc...
于 2013-03-27T21:19:05.697 に答える