Eloquent är Laravels implementering av Active Record-mönster och det kommer med alla dess styrkor och svagheter.
Active Record är en bra lösning för att bearbeta en enstaka enhet på CRUD-sätt - det vill säga skapa en ny enhet med ifyllda egenskaper och sedan spara den i en databas, ladda en post från en databas eller ta bort.
Du kommer att ha mycket nytta av Eloquents funktioner såsom dirty checking (för att bara skicka SQL UPDATE för de fält som har ändrats), modellhändelser (t.ex. att skicka administrativa varningar eller uppdatera statistikräknare när någon har skapat ett nytt konto), egenskaper ( tidsstämplar, mjuka borttagningar, dina anpassade egenskaper) ivrig/lat laddning etc. Du kan också tillämpa domändrivet mönster och implementera vissa delar av affärslogik i dina Active Record-enheter, till exempel validering, hantering av relationer, beräkningar etc.
Men som du redan vet kommer Active Record med ett visst prestandapris.
När du bearbetar en enskild post eller några få poster är det inget att oroa sig för. Men för fall när du läser massor av poster (t.ex. för datanät, för rapporter, för batchbearbetning etc.) den vanliga Laravel DB
metoder är ett bättre tillvägagångssätt.
För våra Laravel-baserade applikationer använder vi båda metoderna som vi ser lämpliga. Vi använder Laravels Eloquent for UI-formulär för att behandla en enda post och använda DB
metoder (stödda av SQL-vyer med ytterligare databasmotorspecifika prestandajusteringar) för att hämta data för UI-tabeller, exportuppgifter etc. Det fungerar också bra med RESTful API:er - Eloquent för GET, PUT, POST, DELETE med en nyckel och DB
för GET utan nyckel men med filter och sortering och personsökning.