Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][SF2][Symfony2]Problem z entity
Forum PHP.pl > Forum > PHP > Frameworki
Michal_Sz
Witam,

Mam taki dość dziwny problem ,a mianowicie utworzyłem kontroler i do tego widok, po wyświetelniu wszystko było ok.
Po dodaniu entity i próbie użycia go w kontrolerze pojawia sie błąd dotyczący braku klasy w tym entity którą wcześniej utworzyłem, czym to może być spowodowane?
redeemer
Mamy zgadywać? Pokaż kod.
Geniesis
Jeżeli dobrze kojarzę problem to prawdopodobnie masz podaną błędną nazwę klasy
tzn. Entity\Foo.php:

  1. class Bar
  2. {
  3. ...
  4. }


zamiast Entity\Foo.php

  1. class Foo
  2. {
  3. ...
  4. }


Jednak do pełnej weryfikacji potrzebny kod, bo ciężko na ślepo cokolwiek dobrze zdiagnozować.
Michal_Sz
Funkcja w kontrolerze wygląda tak:

  1. public function getCost($idi, $em_mysql) {
  2. $koszt_array = array();
  3. $query_mysql_koszt = $em_mysql->createQuery("select p.id from BbKosztBundle:Slownik_kosztow p ");
  4. if (count($query_mysql_koszt->getResult()) > 0) {
  5. for ($k = 0; $k < count($result_mysql_koszt); $k++) {
  6. $koszt_array[$k]['nazwa'] = $result_mysql_koszt[$k]['nazwa'];
  7. $koszt_array[$k]['nazwa'] = $k+1;
  8. $koszt_array[$k]['id'] = $result_mysql_koszt[$k]['id'];
  9. }
  10. }
  11. return count($query_mysql_koszt->getResult());// $koszt_array;
  12. }



natomiast plik jest tutaj:


Tutaj plik w Entity:

  1. <?php
  2.  
  3. namespace Bb\KosztBundle\Entity;
  4.  
  5. use Doctrine\ORM\Mapping as ORM;
  6.  
  7. /**
  8.  * Slownik_kosztow
  9.  *
  10.  * @ORM\Table(name="slownik_kosztow")
  11.  * @ORM\Entity
  12.  */
  13. class Slownik_kosztow
  14. {
  15. /**
  16.   * @var integer
  17.   *
  18.   * @ORM\Column(name="id", type="integer")
  19.   * @ORM\Id
  20.   * @ORM\GeneratedValue(strategy="AUTO")
  21.   */
  22. private $id;
  23.  
  24. /**
  25.   * @var integer
  26.   *
  27.   * @ORM\Column(name="idi", type="integer", nullable=true)
  28.   */
  29. private $idi;
  30.  
  31. /**
  32.   * @var string
  33.   *
  34.   * @ORM\Column(name="nazwa", type="string", length=80, nullable=false)
  35.   */
  36. private $nazwa;
  37.  
  38.  
  39. /**
  40.   * Get id
  41.   *
  42.   * @return integer
  43.   */
  44. public function getId()
  45. {
  46. return $this->id;
  47. }
  48.  
  49. /**
  50.   * Set idi
  51.   *
  52.   * @param integer $idi
  53.   *
  54.   * @return slownik_kosztow
  55.   */
  56. public function setIdi($idi)
  57. {
  58. $this->idi = $idi;
  59.  
  60. return $this;
  61. }
  62.  
  63. /**
  64.   * Get idi
  65.   *
  66.   * @return integer
  67.   */
  68. public function getIdi()
  69. {
  70. return $this->idi;
  71. }
  72.  
  73. /**
  74.   * Set nazwa
  75.   *
  76.   * @param string $nazwa
  77.   *
  78.   * @return slownik_kosztow
  79.   */
  80. public function setNazwa($nazwa)
  81. {
  82. $this->nazwa = $nazwa;
  83.  
  84. return $this;
  85. }
  86.  
  87. /**
  88.   * Get nazwa
  89.   *
  90.   * @return string
  91.   */
  92. public function getNazwa()
  93. {
  94. return $this->nazwa;
  95. }
  96. }



Dodatkowo jest tak, że jak na serwer wyślę folder config to po odświeżeniu widoku jest ok, ale kolejne odświeżenie powoduje już wyżej wymieniony błąd.
Geniesis
Mógłbyś pokazać jeszcze pełny komunikat błędu, który zostaje generowany?

z kwestii stylistycznych poczytaj o standardach PSR-0 - PSR-4, które aktualnie obowiązują.
Michal_Sz
Chyba znalazłem problem, ale nie wiedziałem, że to ma znaczenie.
Zmieniłem nazwę klasy ze "Slownik_kosztow" na "Slownikkosztow" i problem zniknął.
Czy to ma znaczenie?
Geniesis
Ma znaczenie, dlatego lepiej unikać nazw typu jakas_nazwa oraz trzeba być świadomym, że nazwaJakas może zostać zinterpretowana jako nazwa_jakas.

Możesz pobawić się np z komendą do generowania Enitity wpisując różne warianty, np. nazwajakas, nazwa_jakas, nazwaJakas i zobaczyć jak ciekawe wyniki można dostać.
Michal_Sz
Ok, dzięki za pomoc, najważniejsze ze sie wyjaśniło.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.