Aktywne Wpisy
mickpl +119
Oglądam sobie prezentację możliwości kolejnego zastosowania AI (niestety nie dam linka, bo wewnętrzna, ale też nic odkrywczego, po prostu dobrze sobie radzi z refaktoryzacją kodu) i powiem tak: ludzie którzy dzisiaj rozpoczynają studia z #programowanie wtapiają życie, podobnie jak studenci marketingu na marketingowej górce (kiedyś na to było ogromne ssanie, kto wszedł w prime time zarabia ogromną kasę, reszta podaje hot-dogi w Żabce).
Nie będzie takiego ssania na programistów za góra 5
Nie będzie takiego ssania na programistów za góra 5
Plotyn +30
rolnicy podziękowali ministrowi za troskę
#sejm #polityka #codziennabekaztuska #bekazlewactwa #bekazpisu
#sejm #polityka #codziennabekaztuska #bekazlewactwa #bekazpisu
Problem zaczyna się w kodzie, jest sporo miejsc, gdzie użyty jest zwykły findBy oraz findOneBy. Nie wspierają one jednak IS NULL czy IS NOT NULL i nie ma szans sprawdzić czy encja jest cancelled czy nie jeśli polem jest data.
Można dodać metode do repo, ale problem jest taki, ze tych metod musialoby byc duzo. FindBy uzyte jest w wielu miejscach w roznych konfiguracjach, filtruje rozne pola, nie tylko isCancelled. Dodatkowo, refactoring obejmuje ok 5 encji, więc sporo tych miejsc jest.
Jak to można rozwiązać żeby to trzymało się kupy i żeby nie tworzyć kosmicznych ilości tych metod w repo?
W laravelu przy innym zalozeniu ORM mozna zrobic cos takiego $encja->notCancelled()->where([...]);
Czy w doctrine tez daloby sie dodac taki jakby filtr? Chcialbym po prostu miec latwy sposob na to, by zrobic normalne findBy i findOneBy ale biorac tylko encje z dateCancelled IS NULL.
Macie jakies pomysly jak to ogarnąć? Pomyślałem o przepisaniu metody findBy w sposób bardziej laravelowy, by dac tam jeszcze operatory porownania, ale gdy zacząłem to robic okazało się, że napisałbym do tego pewnie więcej kodu niż metod w repo. Dodatkowo, przy takiej operacji ciężko przewidzieć jakie to może mieć negatywne skutki.
#doctrine #symfony #pytanie #programowanie
@spike200: Na przyszłość zrób swoją własną klasę repozytorium w której trzymasz wszystkie zapytania. Gdybyś tak zrobił to uniknąłbyś tego problemu.
https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/filters.html
Co do wywalania tego pola, to w sumie sam nie wiem po co to robic. Bylo to zaplanowane z góry, ja to mam tylko zrobić, podobno używanie datecancelled zamiast iscancelled jest lepszym standardem. I jak masz ORM