Eloquent е реализация на модела Active Record на Laravel и идва с всичките си силни и слаби страни.
Active Record е добро решение за обработка на единичен обект по CRUD начин – тоест, създайте нов обект с попълнени свойства и след това го запишете в база данни, заредете запис от база данни или изтрийте.
Ще се възползвате много от функциите на Eloquent като мръсна проверка (за изпращане на SQL UPDATE само за полетата, които са променени), събития на модела (например за изпращане на административни сигнали или актуализиране на статистически броячи, когато някой е създал нов акаунт), характеристики ( времеви марки, меки изтривания, вашите персонализирани черти) нетърпеливо/мързеливо зареждане и т.н. Можете също да приложите модел, управляван от домейн, и да приложите някои части от бизнес логиката във вашите обекти Active Record, например валидиране, управление на връзки, изчисления и т.н.
Но, както вече знаете, Active Record идва с известна цена за производителност.
Когато обработвате един или няколко записа, няма за какво да се притеснявате. Но в случаите, когато четете много записи (например за мрежи с данни, за отчети, за пакетна обработка и т.н.), обикновеният Laravel DB
методи е по-добър подход.
За нашите базирани на Laravel приложения ние използваме и двата подхода, както смятаме за подходящи. Използваме Eloquent на Laravel за UI форми за обработка на един запис и използваме DB
методи (подкрепени от SQL изгледи с допълнителни настройки на производителността, специфични за базата данни) за извличане на данни за таблици с потребителски интерфейс, задачи за експортиране и т.н. Работи добре и с RESTful API - Eloquent за GET, PUT, POST, DELETE с ключ и DB
за GET без ключ, но с филтри и сортиране и пейджинг.