Eloquent jest implementacją wzorca Active Record firmy Laravel i zawiera wszystkie jego mocne i słabe strony.
Active Record to dobre rozwiązanie do przetwarzania pojedynczej encji w sposób CRUD - czyli tworzenia nowej encji z wypełnionymi właściwościami, a następnie zapisywania jej w bazie danych, ładowania rekordu z bazy danych lub usuwania.
Wiele skorzystasz z funkcji Eloquent, takich jak sprawdzanie nieczystości (wysyłanie aktualizacji SQL tylko dla pól, które zostały zmienione), zdarzenia modelowe (np. wysyłanie alertów administracyjnych lub aktualizowanie liczników statystyk, gdy ktoś utworzy nowe konto), cechy ( znaczniki czasu, nietrwałe usunięcia, Twoje niestandardowe cechy) szybkie/leniwe ładowanie itp. Możesz również zastosować wzorzec oparty na domenie i zaimplementować niektóre elementy logiki biznesowej w encjach Active Record, na przykład walidację, zarządzanie relacjami, obliczenia itp.
Ale, jak już wiesz, Active Record ma pewną cenę za wydajność.
Kiedy przetwarzasz pojedynczy rekord lub kilka rekordów, nie ma się czym martwić. Ale w przypadkach, gdy czytasz wiele rekordów (np. dla siatek danych, raportów, przetwarzania wsadowego itp.) zwykły DB
Laravel metod jest lepszym podejściem.
W przypadku naszych aplikacji opartych na Laravelu stosujemy oba podejścia, które uważamy za właściwe. Używamy Eloquent firmy Laravel dla formularzy interfejsu użytkownika do przetwarzania pojedynczego rekordu i używamy DB
metody (wsparte widokami SQL z dodatkowymi poprawkami wydajności specyficznymi dla silnika bazy danych) do pobierania danych dla tabel interfejsu użytkownika, zadań eksportu itp. Działa również dobrze z interfejsami API RESTful - Eloquent dla GET, PUT, POST, DELETE z kluczem i DB
dla GET bez klucza, ale z filtrami, sortowaniem i stronicowaniem.