![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 7 Dołączył: 3.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki problem, otóż wszystko działa prawie prawidłowo. Chcę pobrać z bazy informację czy użytkownik juz zagłosował na dany product i na jeden produkt są zwracane dane ale na inne nie.
Mimo tego że gdy w phpmyadmin ręcznie wpisując dane wszystko się zgadza. To jest kod który to obsługuje:
i w repozytorium:
Ten post edytował Crash89 27.11.2016, 11:40:41 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat po getQuery() zamiast getResult() daj getSql() i zobacz, jakie zapytanie jest wykonywane - nie ma takiej potrzeby, każde zapytanie jest wyświetlone w profilerze.
1. User to jest nazwa użytkownika, login, obiekt "user", status jakiś? Nazwa zmiennej powinna odzwierciedlać jej zawartość. 2. Metoda nazywa się "checkIfUserVote" a sprawdza czy user to string "anon.", za chwilę założysz temat "dlaczego użytkownik ma zaznaczone, że głosował jak nie oddał głosu" - nie powinno się tworzyć repozytoriów w taki sposób, lecz deklarować je jako serwisy oraz dostarczać jako zależność. Inaczej znów tworzymy sobie problem. I po co używasz Doctrine skoro i tak nie używasz obiektów a do najprostszych zapytań piszesz DQL? Przecież wystarczy:
Ewentualnie ->matching lub ->findBy, do DQLa jeszcze dużo brakuje. A jeśli nie chcesz używać ORMa (bo nie ma takiego obowiązku przecież) to nie prościej używać tylko PDO? Trzeba po prostu lepiej organizować kod bo inaczej zawsze będą problemy a w dodatku ciężko będzie cokolwiek poprawić. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 7 Dołączył: 3.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
- nie ma takiej potrzeby, każde zapytanie jest wyświetlone w profilerze.
1. User to jest nazwa użytkownika, login, obiekt "user", status jakiś? Nazwa zmiennej powinna odzwierciedlać jej zawartość. 2. Metoda nazywa się "checkIfUserVote" a sprawdza czy user to string "anon.", za chwilę założysz temat "dlaczego użytkownik ma zaznaczone, że głosował jak nie oddał głosu" - nie powinno się tworzyć repozytoriów w taki sposób, lecz deklarować je jako serwisy oraz dostarczać jako zależność. Inaczej znów tworzymy sobie problem. I po co używasz Doctrine skoro i tak nie używasz obiektów a do najprostszych zapytań piszesz DQL? Przecież wystarczy:
Ewentualnie ->matching lub ->findBy, do DQLa jeszcze dużo brakuje. A jeśli nie chcesz używać ORMa (bo nie ma takiego obowiązku przecież) to nie prościej używać tylko PDO? Trzeba po prostu lepiej organizować kod bo inaczej zawsze będą problemy a w dodatku ciężko będzie cokolwiek poprawić. Metoda IfUserVote dokładnie sprawdza czy użytkownik ma prawo głosu na dany produkt. Sprawdzam czy user jest stringiem bo taką daną zwraca metoda z kontrolera, która pobiera zalogowanego użytkownika. Jeśli nie jest zalogowany to zwraca 'anon.'. Zwracam prawdę bo i tak jeśli nie zalogowany użytkownik zagłosuje to wyświetli mu się strona do logowania, i problem załatwiony. Z tymi zapytaniami do doctrine to chciałem stworzyć zapytanie, które pobierze dany głos (rate) oddany przez zalogowanego użytkownika i dotyczący danego produktu. teraz się dowiedziałem że można to zrobić tak i dql nie jest potrzebny: Myślałem że to jest ograniczone do jednego parametru. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 22:32 |