保留搜索表单 symfony2 的选定参数(值)

keep selected parameter (values) of search form symfony2

我在我的 symfony2 application.but 中创建了搜索表单,当我提交表单时,选择的值不会保留在下一次渲染中

我知道我可以通过 selected= "selected"

但是我如何给出 GET 变量的条件,因为 twig 不支持 php 其中的代码

我的示例代码

<form action="{{ path('dcampaign') }}" method="get" class="doctor">

<select placeholder="Select Chronic Diseases" class="SlectBox" multiple="multiple"  name="symptomlist[]"  >

            {% for symptoms in symptoms_array %}

           <option value = {{symptoms.id}} >{{ symptoms.name}}</option>
        {% endfor %}
 </select>
  <input type="submit" value="Create Campaign" class="btn btn-info" id="searchBtn" >
</form>


i tried   app.request.query.get(); but doesn't help much...

您应该将其保留在 Twig 模板之外,并在控制器中执行。就个人而言,我会使用表单库,所以用 symptoms 字段制作一个 SearchType。然后在 Twig 中生成表单。我总是以这种方式实现搜索和过滤字段。

如果你不能或不想使用表单库,那么至少从控制器操作中的请求中获取值并将其作为变量传递到 Twig。