Ich möchte 1 Element eine ArrayCollection erhalten. Ich benutze Symfony 2.7.Get-Element von ArrayCollection
Zum Beispiel habe ich eine Sammlung des Unternehmens Aktivität:
$activities = $em->getRepository('AppBundle:Activity')->findAll();
Next i 1-Aktivität aus dieser Arraycollection erhalten möchten, basierend auf einer Viele-zu-Eins-Beziehung.
die Entität 'Aktivität':
/**
* @ORM\Entity(repositoryClass="AppBundle\Repository\ActivityRepository")
* @ORM\Table(name="activity")
*/
class Activity {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="ObjectElementTask", inversedBy="activities", cascade={"persist"})
* @ORM\JoinColumn(name="objectelementtask_id", referencedColumnName="id", onDelete="CASCADE")
*/
private $objectelementtask;
Was habe ich versuche:
$objectElementTask = $em->getRepository('AppBundle:ObjectElementTask')->findOneBy(["active" => 1, "object" => (int)$objectId]);
$activity = $activities->findBy(['objectelementtask' => $objectElementTask]);
Ich erhalte die folgende Ausnahme: "Call auf eine Elementfunktion findBy() auf Array"
Ich möchte die Abfrage der Datenbank foreach verhindern.
ich auch versucht:
$activity = array_search($objectElementTask, array_column($activities, 'objectelementtask'));
Das hat aber kein Ergebnis ...
Vielen Dank im Voraus!