Я пытаюсь проверить, содержит ли список сущностей сущность, но выдает следующую ошибку:
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.
Благодарю.
Отредактировано: правильный код
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 ;
}
Других решений пока нет …