Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony][Symfony2] Dodanie nowej encji do projektu, doctrine, orm
wiciu010
post
Post #1





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

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


Cześć,

Mam projekt w Symfony2, który działa. Chcę do niego dodać nową encję. Stworzyłem tabelę w bazie danych i stworzyłem plik Flag.php, który ma początek:

  1. namespace Ex\CaBundle\Entity;
  2.  
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Validator\Constraints as Assert;
  5.  
  6. /**
  7.  * Ex\CaBundle\Entity\Flag
  8.  *
  9.  * @ORM\Table(name="Flag")
  10.  * @ORM\Entity(repositoryClass="Ex\CaBundle\Entity\FlagRepository")
  11.  */
  12. class Flag {


Dalej są pola jak w bazie + gettery/settery.

Dodałem również plik FlagRepository.php:

  1. namespace Ex\CaBundle\Entity;
  2.  
  3. use Doctrine\ORM\EntityRepository;
  4.  
  5. class FlagRepository extends EntityRepository {
  6.  
  7. public function getFlags() {
  8. $q = $this->createQueryBuilder('f')
  9. ->getQuery()
  10. ->getResult();
  11. return $q;
  12. }
  13. }


Teraz w kontrolerze chcę pobrać wszystkie rekordy z tabeli Flag w bazie korzystając z funkcji getFlags:

  1. $flags = $this->getDoctrine()->getRepository('ExCaBundle:Flag')->getFlags();


Niestety otrzymuję błąd 500. Nie wiem, czy błąd jest w funkcji getFlags, czy nie widoczny jest plik FlagRepository?

Czy muszę coś dodawać w jakiś plikach konfiguracyjnych? Generować? Pliki dodałem ręcznie.

Jak zrobię:

  1. $flags = $this->getDoctrine()->getRepository('ExCaBundle:Flag')->findAll();


To otrzymam wyniki, pobierze rekordy z bazy. Ale chcę użyć swojej funkcji.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Forti
post
Post #2





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


Otrzymałeś błąd 500. WOW super!!

Pokaż treść błędu.



  1. namespace Ex\CaBundle\Entity;
  2.  
  3. use Doctrine\ORM\EntityRepository;
  4.  
  5. class FlagRepository extends EntityRepository
  6. {
  7.  
  8. public function getFlags()
  9. {
  10. return $this->createQueryBuilder('f')
  11. ->select('f')
  12. ->getQuery()
  13. ->getResult();
  14. }
  15. }


Ten post edytował Forti 22.04.2015, 08:17:48
Go to the top of the page
+Quote Post
wiciu010
post
Post #3





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

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


Cytat(Forti @ 22.04.2015, 09:15:20 ) *
Otrzymałeś błąd 500. WOW super!!

Pokaż treść błędu.


Jak uruchomić w środowisku dev? Widzę, że są pliki:

app/config/config_dev.yml
app/config/config_prod.yml
app/config/config_test.yml

Ale jak zrobić, aby czytał konfigurację z config_dev.yml i dodatkowo wyświetlał błędy? Ponieważ w tej chwili nie widzę treści błędu
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Uruchom app_dev.php zamiast app.php
Go to the top of the page
+Quote Post
wiciu010
post
Post #5





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

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


Cytat(Turson @ 22.04.2015, 13:23:04 ) *
Uruchom app_dev.php zamiast app.php


Ok, ale jak to uruchomić?
Bo teraz wpisuję www.adres.pl i czyta app.php, a jak zrobić aby czytał app_dev.php? Bo dodanie /app_dev.php w adresie nie rozwiąze problemu.
Go to the top of the page
+Quote Post
phpion
post
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Zobacz sobie źródło pliku app_dev.php. Masz tam warunek z dozwolonymi adresami IP, spod których można wywołać tryb dev. Dopisz tam swój bieżący adres IP i wywołaj plik w przeglądarce.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 17:22