Ошибка: вызов функции-члена содержит () в массиве Symfony 3

Я пытаюсь проверить, содержит ли список сущностей сущность, но выдает следующую ошибку:

Error: Call to a member function contains() on array

Это мой код функции:

 public function findAllEquivalents($reference)
{
$equivalents =  $this->getEntityManager()
->createQuery(
'SELECT p FROM EKPlateformeBundle:Piece p where p.reference =
:ref')
->setParameter('ref',$reference)
->getResult();

$listFinal = $equivalents ;
foreach ($equivalents as $piece)
{
$autreEquivalents = $piece->getEquivalents();
foreach ($autreEquivalents as $p)
{
if (!$listFinal->contains($p)) //  error here
{
$listFinal->add($p);
}
}
}
return $listFinal ;
}

Я использую Symfony 3.3.2 и doctrine2.
Благодарю.

1

Решение

Отредактировано: правильный код

  public function findAllEquivalents($reference)
{
$equivalents =  $this->getEntityManager()
->createQuery(
'SELECT p FROM EKPlateformeBundle:Piece p where p.reference = :ref')
->setParameter('ref',$reference)
->getResult();

$listFinal = $equivalents ;
//array_push($listFinal, $listFinal);

foreach ($equivalents as $piece)
{
$autreEquivalents = $piece->getEquivalents();
foreach ($autreEquivalents as $p)
{
if (!in_array($p, $listFinal))
//if (!$listFinal->contains($p))
{
array_push($listFinal, $p);
}
}
}
return $listFinal ;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]