我需要用另一个数组中存在的元素过滤我的数组。
更多细节,我的控制器中有两个变量(数组):一个包含所有用户,另一个包含参与评估的用户。我需要的是第三个变量/或包含所有其余内容的树枝(数组)中的列表-因此,我可以从下拉列表中为每个评估选择它们(已经评估的名称不会出现在下拉列表)。
我现在想知道什么是最好的方法。我应该在树枝还是在控制器中这样做?
谢谢!
树枝:
<select name="user" >
{% for user in users %}
<option value="{{ user.idUser }}" label="{{ user.name }} ">
{% endfor %}
</select>
控制器:
$evals = $this
->getDoctrine()
->getRepository(User::class)
->findUserGroups(); // this is my own function (based on SQL query) from repository that searches for those who participated in evaluation
$users = $this
->getDoctrine()
->getRepository(User::class)
->findAll(); //this is a variable that contains ALL users (including those who already participated in evaluation)
答案 0 :(得分:0)
这最好在控制器中处理,您可以使用php的array_diff
来完成。
控制器:
$evals = $this
->getDoctrine()
->getRepository(User::class)
->findUserGroups();
$users = $this
->getDoctrine()
->getRepository(User::class)
->findAll();
$non_evals = array_diff($users, $evals);
然后在树枝上
<select name="user" >
{% for user in non_evals %}
<option value="{{ user.idUser }}" label="{{ user.name }} ">
{% endfor %}
</select>