Symfony 3.4中的多条件搜索

时间:2018-09-05 14:20:27

标签: doctrine symfony-3.4

我终于在Symfony 3中从事一个项目,这真的很有趣。我想与您分享新的问题和新的问题。

我根据几种标准来研究出版物的搜索表。 (我有3个字段输入文本:日期,类别和关键字)。

因此,我处理由创建日期组成的发布,并通过oneToMany关系将其链接到一个类别[发布是拥有该实体的实体,每个发布都属于一个类别],并具有多个Tag(与Tag实体存在ManyToMany关系) 。搜索表单允许按dateCreation,Category和Tag进行搜索。在出版物列表的右侧,我有一个表格来执行搜索。

enter image description here

 <div>
                <span class="titlerecherche">recherche</span>
                <div class="formrecherch">
                    <form action="{{ url('search_english_pub') }}" method="POST" class="form-horizontal" role="form" data-parsley-validate novalidate>
                        <div class="form_row">
                            <div class="col-xs-12 col-sm-12">
                                <input type="text" class="input" name="date" placeholder="Date *" required></div>
                             </div>

                        <div class="form_row">
                            <div class="col-xs-12 col-sm-12"><input type="text" name="categorie" class="input" placeholder="Catégorie *" required></div>
                        </div>
                        <div class="form_row">
                            <div class="col-xs-12 col-sm-12"><input type="text" name="tag" class="input" placeholder="Tag *" required></div>
                        </div>
                        <button class="btnForm">Envoyer <i class="icon-long-arrow-right"></i></button>
                    </form>
                </div>
            </div>

在我的实体中,我有:

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您只能编辑问题并提供更多详细信息,那么我可以提供更多帮助 同时尝试以下方法:

public function searchAction(Request $request)
    {
        $date = $request->request->get('date');
        $category = $request->request->get('category');
        $keyword = $request->request->get('keyword');

        $em = $this->getDoctrine()->getManager();
        $listEnglishs = $em->getRepository('MDWEBInEnglishBundle:InEnglish')
            ->findBy(array("date" => new \DateTime($date), "category" => $category, "keyword" => $keyword));
        return $this->render('MDWEBFrontBundle:InEnglish:list.html.twig',
            array('listEnglishs' => $listEnglishs));
    }

还要在顶部添加

use Symfony\Component\HttpFoundation\Request;