如何在同一文件中选择多个单词,它们具有相同的文件wav

  • 本文关键字:文件 wav 选择 单词 php sql symfony
  • 更新时间 :
  • 英文 :


我想通过文件链接选择信息,例如在第一行中的数据库中:

文件链接:src/java/son3.wav |字:邮件

db中的secund线:文件链接:src/java/son3.wav |字:SMTP

db中的第三行:文件链接:src/java/son2.wav |字:服务器

我想在html.twig ::

中显示这样

id:1 |文件链接:src/java/son3.wav |字:邮寄,SMTP
ID:2 |文件链接:src/java/son2.wav |字:服务器

以便选择具有相同文件链接的DB中的所有单词,我希望这可以解释我追随的内容。

我正在使用Symfony 3.4,这就是它在我的界面中显示的方式:

https://i.stack.imgur.com/7eq63.jpg

这是我的桌子的图片:

https://i.stack.imgur.com/meyaj.jpg

this is the code of file twig :
  <table  class="table table-striped">
          <thead>
              <tr>
                 <th>Id</th>
                  <th>File Link</th>
                  <th>Words</th>
              </tr>
          </thead>
          <tbody>
          {% for result in resultats %}
                <tr>
                  <td><a href="{{ path('result', { 'id': result.id }) }}">{{ result.id }}</a></td>
                  <td>{{ result.indexeFichier.fichierUrl }}</td>
                  <td>{{ result.indexeMot.motValeur }}</td>


              </tr>
          {% endfor %}
          </tbody>
      </table>

这是文件控制器的代码:


  public function IndexAction()
    {

      ////////////////////////////////////////////
      $em = $this->getDoctrine()->getManager();
      $resultats = $em->getRepository('AppBundle:Indexe')->findAll();
      return $this->render('userfiles/result.html.twig', array(
          'resultats' => $resultats,
      ));
    }

我认为只有使用DQL查询才能做到这一点,后处理才能有所帮助:

公共功能索引(( {

  ////////////////////////////////////////////
  $em = $this->getDoctrine()->getManager();
  $tmp = $em->getRepository('AppBundle:Indexe')->findAll();
  $tmp2 = [];
  foreach ($tmp as $v) {
      if (!isset($resultats[$v->getIndexeFichier()->getFichierUrl()])) {
          $resultats[$v->getIndexeFichier()->getFichierUrl()] = [];
      }
      $resultats[$v->getIndexeFichier()->getFichierUrl()][] = $v->indexeMot()->getMotValeur();
  }
  $resultats = [];
  $i = 1;
  foreach ($tmp2 as $k=>$v) {
      $resultats[] = ['id' => $i++, 'fichierUrl' => $k, 'motValeur' => join(', ', $v)];
  }
  return $this->render('userfiles/result.html.twig', array(
      'resultats' => $resultats,
  ));
}

和模板

  ....
  {% for result in resultats %}
        <tr>
          <td><a href="{{ path('result', { 'id': result.id }) }}">{{ result.id }}</a></td>
          <td>{{ result.fichierUrl }}</td>
          <td>{{ result.motValeur }}</td>
      </tr>
  {% endfor %}
  ....

另外,如果您的数据库为mysql,则可以尝试使用GROUP_CONCAT()函数

相关内容

  • 没有找到相关文章