Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne] Symfony2 - problem z baza
Forum PHP.pl > Forum > Przedszkole
Pi0tR
Witam Panowie mam nastepujacy problem z baza danych w symfony2

An exception occurred while executing 'SELECT t0_.id AS id0, t0_.title AS title1, t0_.createdAt AS createdAt2, t0_.updatedAt AS updatedAt3, t0_.description AS description4, t0_.type_id AS type_id5, t0_.taskCreatedBy_id AS taskCreatedBy_id6, t0_.taskUpdatedBy_id AS taskUpdatedBy_id7, t0_.status_id AS status_id8, t0_.priority_id AS priority_id9, t0_.comment_id AS comment_id10 FROM task_task t0_ WHERE t0_.id IN (?, ?, ?)' with params ["10", "12", "11"]:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0_.comment_id' in 'field list'

chyba za dlugo juz przy tym siedze bo nie potrafie wychwycic błedu
nospor
A co tu wychwycac? Wyraznie masz napisane, ze nie istnieje kolumna comment_id w tabeli task_task
Pi0tR
chodzi wlasnie o to ze istnieje

  1. /**
  2.   * @ORM\ManyToOne(targetEntity="Mb\TaskBundle\Entity\Comment", inversedBy="task")
  3.   * @ORM\JoinColumn(name="comment_id", referencedColumnName="id")
  4.   */
  5. protected $comment;
kosmos
sprawdziłeś nazwę klasy i nazwę tabeli, pola w bazie danych?
nospor
Skoro baza mowi, ze nie istnieje, znaczy ze nie istnieje. Ty patrz na to co masz w bazie, a nie w kodzie php
BigPig
Czasem takie rzeczy się dzieją. Ja bym zrobił tak:

1) Sprawdź czy w klasie Task masz poprawnie wpisane OnetoMany i co ważne, czy w konstruktorze dałeś arraylista dla tego pola. Wszystko w dokumentacji jest ładnie opisane: http://symfony.com/doc/current/book/doctri...apping-metadata
2) Wywołaj komendę Entities, żeby dla pewności uzupełnić klasę getterami i setterami. Tworząc encję poprzez Entity zdarzało się, że nie wszystkie metody były stworzone, a inna sprawa, że jak ręcznie dodaje się takie pola 'manytoone' to potem zapomina się o getterach i setterach dla tego pola. Puść komendę Entities by to uzupełnić.
3) To, że masz coś w klasie, nie musi oznaczać, że musisz mieć to w bazie, baza nie jest uaktualniana wraz z każdą Twoją zmianą w klasie. Po tym wszystko co napisałem, puść komendę Update.

Mam nadzieje, że pomoże.

Ja to miałem lepsze wojaże z błędami. Pamiętam jak tworzyłem formularz i chciałem zrobić checkboxy. Żeby to ogarnąć, trzeba dać 'expanded' => true. Wszystko zrobiłem dobrze i wyskakuje błąd coś w stylu:

'Wartości expanded nie ma w tablicy, w której znajdują się takie wartości jak [...],multiple,expanded,[...]'

Pomogło to, że dałem ten sam kod to innego formularza, odpaliłem, działał. Potem wróciłem do starego i bez żadnych zmian się uruchomił o.0 Ostatnio mam dziwnego pecha do błędów. Sam PHPStorm mi się sypie biggrin.gif
ohm
sprawdź z console doctrine:schema:validate i ewentualnie doctrine:schema:update --dump-sql co będzie chciał utworzyć.
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.