Eloquent ORM ابزار نگاشت آبجکت-رابطه‌ای لاراول است که کار با رکوردها و رابطه‌های پایگاه داده را از طریق کلاس‌های مدل ممکن می‌کند. هر مدل معمولاً به یک جدول مرتبط است و متدهایی برای Query، ایجاد و به‌روزرسانی داده دارد.

Eloquent از الگوی Active Record پیروی می‌کند. برای Queryهای پیچیده یا بارهای سنگین، شناخت SQL تولیدشده و بررسی عملکرد پایگاه داده همچنان ضروری است.

رابط Eloquent نوشتن Product::query()->where(...) را آسان می‌کند، اما در Query پیچیده باید SQL تولیدشده و Execution Plan را بررسی کرد.

نمونه کوتاه

$orders = Order::query()->where("status", "paid")->latest()->get();

در همین واژه‌نامه، اکتیو رکورد و نگاشت آبجکت-رابطه‌ای از مفاهیم مرتبط هستند.

تاثیر N+1 روی کارایی

اگر ۱۰۰ سفارش را دریافت کنیم و برای هر سفارش رابطه customer جداگانه Query شود، مجموع درخواست‌های دیتابیس زیاد می‌شود. با with("customer") می‌توان رابطه را از پیش بارگذاری کرد، ولی انتخاب رابطه‌های غیرضروری نیز هزینه حافظه و انتقال داده دارد.