Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]użycie metody Doctrine\ORM\EntityRepository::find() powoduje Exception Call to a member function find() on null
porzeczki
post 8.10.2016, 18:45:08
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 15.09.2016
Skąd: Warszawa

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


Może komuś rzuci się w oczy co robię źle.


  1.  
  2. // Kontroler. I linia która wywołuje wyjątek
  3. $zamowienie= $this->getDoctrine()
  4. ->getRepository('AppBundle:Zamowienie')
  5. ->find($id);




  1.  
  2. //Entity w którym deklaruję repository
  3. * @ORM\Entity(repositoryClass="AppBundle\Repository\ZamowienieRepository")
  4. */
  5. class Zamowienie

  1. //Repository z konstruktorem EntityManager
  2. class ZamowienieRepository extends EntityRepository{
  3. protected $em;
  4.  
  5. public function __construct(EntityManager $entityManager)
  6. {
  7. $this->em = $entityManager;
  8. }









Go to the top of the page
+Quote Post
kapslokk
post 8.10.2016, 18:52:24
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


masz

  1. protected $em;
  2.  
  3. public function __construct(EntityManager $entityManager)
  4. {
  5. $this->em = $entityManager;
  6. }


a find() chce z podkreślnikiem. Dodaj go.
Albo najlepiej wywal ten konstruktor, bo nie jest do niczego potrzebny.

Ten post edytował kapslokk 8.10.2016, 18:53:59
Go to the top of the page
+Quote Post
porzeczki
post 8.10.2016, 18:59:57
Post #3





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 15.09.2016
Skąd: Warszawa

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


Metoda find() jest wbudowana z klasę Doctrine\ORM\EntityRepository. Ja klasę ZamowienieRepository używam dla metod zdefiniowanych przeze mnie. No ale co to obchodzi metodę EntityRepository::find() ?

Ten post edytował porzeczki 8.10.2016, 19:00:40
Go to the top of the page
+Quote Post
kapslokk
post 8.10.2016, 19:02:19
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


  1. class ZamowienieRepository extends EntityRepository{


ZamowienieRepository rozszerza klase EntityRepository, wiec jej metody masz w ZamowienieRepository. W ZamowienieRepository nadpisales konstruktor EntityRepository i teraz nie ma wymaganych propertiesow. Wywal swoj konstruktor i bedziesz mial po problemie. Jesli w ZamowienieRepository potrzebujesz uzyc EntityManagera mozesz zrobic $this->_em;
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: 2.07.2025 - 03:59