W kontrolerze mam metodę createAction(), route mam opisany w taki sposób: /** * @Route("/create", name="adminchallengecreate") */ korzystałem z tej metody aby dodać nowe wpisy w DB. Później dodałem KNPpaginator i zrobiłem paginację. Teraz chcę dodać kolejny wpis w DB, a nie mogę skorzystać z metody. Jak klikam na anchor albo wpisuję URL, to wyświetla mi listę wpisów. URL mam poprawny. path nigdzie się nie powtarza. W createAction() wpisałem die();, bo myślałem, że może przekierowuje mnie do listy, ale to w niczym nie pomogło. Router ignoruje metodę i otwiera listAction. Logi nie zawierają błędów. Gdzie mogłem coś zepsuć? Aha, mam editAction() i ta metoda działa poprawnie.
@mariecziek: uczcie się #!$%@? programować a nie klepać kod jak małpy nie zastanawiając się co i po co. Podchodzicie do php jak do webdevu z nadzieją że da się scopypastować całość ze stacka.
@mariecziek: nie programować tylko tworzyć coś w symfony. Spróbuj łyknąć trochę teorii bo jak czytam że w jednej akcji dodajesz "nowe wpisy w db", paginujesz to i zamiast dodawać to listujesz to aż mi słabo. Książka o php by się przydała, o php 5 i programowaniu obiektowym.
@kmicolo: To nie komentuj jeśli jest ci słabo. Z obiektowym PHP mam do czynienia od 3 miesięcy z czego większość czasu siedziałem nad wordpressem. Kilka projektów służy mi za przykład (napisane przez kolegów w mojej pracy) i jak czegoś nie potrafię znaleźć w dokumentacji, githubie itd, to sprawdzam w tych projektach, jak kolega nie poptrafi mi pomóc, to piszę na wykopie. No ale tak ogólnie, to się uczę i staram się
@VR46: admin_challenge_list ANY ANY ANY /admin/challenge/{pageNumber} admin_challenge_create ANY ANY ANY /admin/challenge/create admin_challenge_remove ANY ANY ANY /admin/challenge/remove/{id} admin_challenge_edit ANY ANY ANY /admin/challenge/edit/{id} Router widzi ścieżki.
@lukasz_: @czolnowski: Przeczytałem. Później porównałem admotacje metody gdy jeszcze działała i gdy już nie działało i zrozumiałem w czym tkwił problem. Dziękuję za wskazówki :) Życzę morza plusów.
@mariecziek: Adnotacje są trochę ryzykownym podejściem na początku. Każdemu polecam spróbować najpierw korzystać z czystego kodu i z czasem refaktorować konfiguracje na inne warstwy, żeby zobaczyć jaki płynie z tego pożytek.
, requirements={"pageNumber": "\d+"} w @Route ten paginator serio najpierw wymaga pobrania wszystkich rekordów z bazy ? XD offset i limit takie trudne są ? XD wiem już czemu nie korzystam z żadnych bundli prawie do symfony, bo nie wiem jak można z czegoś takiego korzystac, super paginacja bulwo
chociaż w zasadzie jak będziemy mieli dużo rekordów w bazie to (dziesiątki - setki tysięcy to z offseta też nie powinno
@Jurigag: w innych projektach widziałem, że w repozytoriach jest napisany sql do pobrania rekordów z db, więc może i źle robię, że używam tego bundla. Z drugiej strony moi koledzy w pracy używają tylko left join, co też nie jest najlepszym wyborem. Pisząc sql mam na myśli query builder
W kontrolerze mam metodę createAction(), route mam opisany w taki sposób:
/**
* @Route("/create", name="adminchallengecreate")
*/
korzystałem z tej metody aby dodać nowe wpisy w DB. Później dodałem KNPpaginator i zrobiłem paginację. Teraz chcę dodać kolejny wpis w DB, a nie mogę skorzystać z metody. Jak klikam na anchor albo wpisuję URL, to wyświetla mi listę wpisów. URL mam poprawny. path nigdzie się nie powtarza. W createAction() wpisałem die();, bo myślałem, że może przekierowuje mnie do listy, ale to w niczym nie pomogło. Router ignoruje metodę i otwiera listAction. Logi nie zawierają błędów.
Gdzie mogłem coś zepsuć?
Aha, mam editAction() i ta metoda działa poprawnie.
#php #webdev
rm -rf ./app/cache
./app/console rout:deb
?admin_challenge_list ANY ANY ANY /admin/challenge/{pageNumber}
admin_challenge_create ANY ANY ANY /admin/challenge/create
admin_challenge_remove ANY ANY ANY /admin/challenge/remove/{id}
admin_challenge_edit ANY ANY ANY /admin/challenge/edit/{id}
Router widzi ścieżki.
Przeczytaj, szczególnie adnotację Earlier Routes always Win
zabrakło:
, requirements={"pageNumber": "\d+"}
w
@Route
ten paginator serio najpierw wymaga pobrania wszystkich rekordów z bazy ? XD offset i limit takie trudne są ? XD wiem już czemu nie korzystam z żadnych bundli prawie do symfony, bo nie wiem jak można z czegoś takiego korzystac, super paginacja bulwo
chociaż w zasadzie jak będziemy mieli dużo rekordów w bazie to (dziesiątki - setki tysięcy to z offseta też nie powinno
Pisząc sql mam na myśli query builder