Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][Doctrine][Symfony2] jak korzystać z klasy Doctrine.Common.Collections.ArrayCollection na obiektach repozytorium
twojastara
post 15.04.2015, 22:04:37
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 25.11.2014

Ostrzeżenie: (10%)
X----


Chciałbym móc zrobić parę rzeczy z obiektem z bazy danych

  1. $foo= $this->getDoctrine()->getRepository('AppBundle:Foo')->find($id);


interesują mnie funkcje takie jak w tej klasie doctrine-project.org/api/common/2.1/class-Doctrine.Common.Collections.ArrayCollection.html

ale nie wiem jak korzystac z tej klasy z moim obiektem $foo tym bardziej, że kontruktor klasy ArrayCollection przyjmuje tablicę a nie obiekt.

Ten post edytował twojastara 15.04.2015, 22:30:53
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Crozin
post 15.04.2015, 22:38:08
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Skorzystać z jakich funkcji? Jak? W jakim celu?
Go to the top of the page
+Quote Post
twojastara
post 15.04.2015, 22:51:50
Post #3





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 25.11.2014

Ostrzeżenie: (10%)
X----


Trafiłem na tę klasę przypadkiem, w poszukiwaniu jakiejść funkcji, która by mi sprawdziła czy obiekt bazy danych coś zawiera czyli np isEmpty() z tej klasy by pasowało. No, ale rozumumiem po twoich pytaniach, że to od czapy.

Użyłem funckcji php is_object dla obiektu $foo , więc nie potrzebuje juz tej klasy, ale skoro istnieje taka klasa a głowiłem się jak jej użyć to zapytałem.
Go to the top of the page
+Quote Post
Crozin
post 15.04.2015, 23:00:18
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ale co może mieć metoda ArrayCollection::isEmpty() wspólnego z Twoją klasą czy funkcją is_object? Jak niby miałaby ona cokolwiek realizować?
Go to the top of the page
+Quote Post
twojastara
post 15.04.2015, 23:21:02
Post #5





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 25.11.2014

Ostrzeżenie: (10%)
X----


nie wiem, nie znam się, boli mnie ucho. W przedszkolu nie powinno sie zdawać takich pytań. Napisz do czego używa się tej klasy, albo nie napisz.

Chciałem wiedzieć czy
  1. $foo= $this->getDoctrine()->getRepository('AppBundle:Foo')->find($id);

jest puste.

Dlatego w google wpisałem: doctrine repository check if empty. Kliknąłęm w Stackoverflow w którym ktoś tej klasy użył.

Rozumiem, że to od czapy, głupi temat otworzyłem, więc nie brnijmy.
Go to the top of the page
+Quote Post
kpt_lucek
post 16.04.2015, 00:36:06
Post #6





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


ArrayCollection o którego pytasz, jest Iteratorem używanym przez Doctrine.

Możesz go spotkać w relacjach, chociażby Many2Many
  1. <?php
  2.  
  3. namespace My\CostamBundle\Entity;
  4.  
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Acme\DemoBundle\Entity\JakasInnaEncja;
  8.  
  9. /**
  10. * @ORM\Table()
  11. * @ORM\Entity
  12. */
  13. class JakasEncja
  14. {
  15.  
  16. /**
  17.   * @var ArrayCollection|JakasInnaEncja[]
  18.   * @ORM\ManyToMany(targetEntity="Acme\DemoBundle\Entity\JakasInnaEncja", mappedBy="jakasEncja")
  19.   */
  20. protected $jakasInnaEncja;
  21.  
  22. public function __construct()
  23. {
  24. $this->jakasInnaEncja= new ArrayCollection();
  25. }
  26.  
  27. /**
  28.   * @return ArrayCollection|JakasInnaEncja[]
  29.   */
  30. public function getJakasInnaEncja()
  31. {
  32. return $this->jakasInnaEncja;
  33. }
  34.  
  35. }


Wywołując JakasEncja->getJakasEncja() dostaniesz ArrayCollection którego zawartością będzie tablica obiektów JakasInnaEncja, lub tablica pusta, czyli Iterator nie będzie miał po czym iterować.

Ot cała filozofia

Cytat(twojastara @ 16.04.2015, 00:21:02 ) *
nie wiem, nie znam się, boli mnie ucho. W przedszkolu nie powinno sie zdawać takich pytań. Napisz do czego używa się tej klasy, albo nie napisz.

Chciałem wiedzieć czy
  1. $foo= $this->getDoctrine()->getRepository('AppBundle:Foo')->find($id);

jest puste.

Dlatego w google wpisałem: doctrine repository check if empty. Kliknąłęm w Stackoverflow w którym ktoś tej klasy użył.

Rozumiem, że to od czapy, głupi temat otworzyłem, więc nie brnijmy.



  1. $foo= $this->getDoctrine()->getRepository('AppBundle:Foo')->find($id);
  2. if(null === $foo){
  3. // brak rekordu
  4. }


Ten post edytował kpt_lucek 16.04.2015, 16:18:44


--------------------


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 12:48