Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 873 Pomógł: 25 Dołączył: 24.07.2005 Ostrzeżenie: (0%)
|
mam takie dwie encje
w modelu mam
oraz listę parametrów przypisanych do danej konfiguracji
pytania z założeniami: 1. Potrzebuję wyciągnąć zsumowaną pod względem ( water, feed, weight, downs ) listę parametrów należące do configuracji o race_id in (tutaj różnie może być od jednego id po kilka) + dodatkowo jak widać mogę mieć kilka konfiguracji dla danego race_id więc potrzebują wziąć tą z najnowszą datą.
może też inaczej ,..... chciałbym osiągnąć wynik, który daje np takie zapytanie:
czyli potrzebuję wybrać najnowszą konfigurację dla danego race_id. W przypadku kilku race_id wziąć najnowszą konfigurację i dodać ja do najnowszego konfiguracji z kolejnego race_id Chciałbym to wyciągnąc ładnie ORM i nie uzywać plain query. Czy ktoś z Was ma pomysł? Ten post edytował john_doe 10.05.2018, 14:37:05 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%)
|
Wyciągnięcie ostatniej konfiguracji nie powinno być trudne:
Problem zaczyna się gdy chcesz dołączyć do tego sumy. Jeśli parametrów jest mało to możesz pobrać po prostu wszystkie rekordy i wykorzystać sumowanie dostępne na kolekcjach. Jeśli rekordów jest dużo to musisz dla każdej sumy użyć osobnego zapytania lub wykorzystać DB::raw - https://stackoverflow.com/questions/1536900...elds-in-laravel. W tym drugim przypadku wyglądałoby to mniej-więcej tak:
Trochę późno odpowiadam więc jeśli uporałeś się już z problemem to chętnie zobaczyłbym w jaki sposób go rozwiązałeś. Takich problemów z Eloquent jest akurat więcej i moim zdaniem mimo że wygodny, to jednak często stanowi bardzo wąskie gardło i jest jednym z gorzej przemyślanych modułów w tym frameworku. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Takich problemów z Eloquent jest akurat więcej i moim zdaniem mimo że wygodny, to jednak często stanowi bardzo wąskie gardło i jest jednym z gorzej przemyślanych modułów w tym frameworku. Na bardzoo duży system udało mi się poza jednym zapytaniem zrobić wszystko w oparciu o Eloquent. Wg mnie jest świetny, ciekawi mnie Twoja opinia. Jakieś porównania do podobnych ORMów, które wg Ciebie są lepsze? |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%)
|
Na bardzoo duży system udało mi się poza jednym zapytaniem zrobić wszystko w oparciu o Eloquent. Wg mnie jest świetny, ciekawi mnie Twoja opinia. Jakieś porównania do podobnych ORMów, które wg Ciebie są lepsze? No chociażby podstawowy problem: mamy jakiś model (nadrzędny) który załącza inne z użyciem with (model podrzędny). Teraz chciałbym wyświetlić wszystkie te dane w tabeli i mieć możliwość posortowania po kolumnie która znajduje się w modelu podrzędnym. Mogę zrobić sortowanie rekordów ale tylko w ramach danego modelu nadrzędnego. W takim prostym przypadku już musze sięgać po QueryBuilder i sklejać joiny. ORMy mają to do siebie że w wielu przypadkach pomagają i znacznie przyśpieszają proces wytwarzania aplikacji (i za to je lubię), jednak czasami obnażają swoje wady w sposób dobitny (i wtedy zastanawiam się jakie mam alternatywy). Osobiście lubię mieć jakieś zaplecze w postaci QL jakie oferuje np. Doctrine (DQL) lub Phalcon (PHQL) z dobrym wsparciem ze strony IDE tak aby zmiany w modelu pociągały za sobą zmiany w zapytaniach (chodzi o jakieś proste zmiany nazw itp.). Gdybym miał jednak wybierać np. między Doctrine a Eloquent to nie potrafiłbym podjąć decyzji, z obu korzystam chyba równie często, każdy z nich ma swoje wady i zalety i dużo zależy od specyfiki projektu. |
|
|
|
john_doe [Laravel] Eloquent poprawne zwrócenie danych 10.05.2018, 14:20:36
SmokAnalog Cytat(john_doe @ 10.05.2018, 15:20:36... 15.05.2018, 11:42:05
SmokAnalog Możesz podać konkretny przykład z tym sortowaniem?... 15.05.2018, 21:39:53
r4xz Modele:
- Order (id, user_id, product_name, amoun... 15.05.2018, 22:47:16
SmokAnalog Każdy with() robi osobne zapytanie, więc posortowa... 15.05.2018, 22:54:20
Pyton_000 Zawsze można użyć QueryBuildera. Tak samo w doctri... 15.05.2018, 23:02:44
markonix Albo posortować już gotową kolekcję za pomocą sort... 16.05.2018, 01:08:52
GrupaZero Hej,
Jest to bardzo często spotykany problem, gdy... 1.06.2018, 08:55:24 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 23:46 |