У меня есть объект StatColle в отношениях ManyToMany с объектом Groupe. Я хочу сравнить массив объектов Groupe с arrayCollection.Сравнение ArrayCollection с массивом объектов
Вот мой код:
//Create array of Groupe objects
$nameOfSelectedGroupes = $request->request->get('selectedGroupes');
$groupes= [];
foreach ($nameOfSelectedGroupes as $nameOfSelectedGroupe) {
$groupe = $em->getRepository(Groupe::class)->findBy(['nom' => $nameOfSelectedGroupe]);
$groupes[] = $groupe;
}
// Compare array of objects with ArrayCollection of objects
...request to get StatColle...
foreach ($resultats as $resultat)
{
if ($groupes == $resultat->getGroupes()->toArray())
return $resultat;
}
...
Это всегда возвращается нуль. Я думаю, что $resultat->getGroupes()->toArray()
- это неправильный способ получения Групп, связанных с объектом StatColle.
У вас есть идея сравнить эти массивы?
Я пробовал, но у меня есть ошибка: объект класса Groupe не может быть преобразован в строку. Когда я выдаю '$ resultat-> getGroupes() -> toArray()', у меня есть массив объектов Groupe. –
Я думаю, что array_diff не может использоваться для массивов объектов. –
Я предполагаю, что одним из способов отладки является использование 'var_dump' или' print_r' для сравнения двух массивов '$ groupes' и одного из массивов' $ resultat'. Возможно, неправильный способ создания 'groupes []'? –