لاراول دو رویکرد را برای کار با دیتابیس به شما پیشنهاد می دهد:
Eloquent ORM:
یک ORM بر پایه active record به شما میدهد و یک interface با ظرفیت های رابطه ای خودساخته فراهم می کند.
در این حالت شما هیچ کنترلی روی اینکه چه ستونهایی از این جداول به شما برسد و چه ستونهایی واکشی نگردد، ندارید، مگر اینکه در تعریف مدل خود، آرایه $hidden را تعریف کنید که مشتمل بر ستونهایی است که قرار نیست از دیتابیس بیرون بیایند و این یک حالت کلی است و تاثیرگذاری آن بر روی همه Eloquentهای مدل شما میباشد. بنابراین رویکردی مختص برای محدود کردن ستونهایی که از جداول مرتبط می آیند، وجود ندارد. آرایه $hidden نمیتواند در زمان اجرا تغییر کند، بنابراین باید در مدل از پیش تعریف شده باشد. پس یا شما نیاز به مدلهایی با تعریف ویژه دارید یا باید بپذیرید که با بخش بزرگی از داده هایی که از جداول مرتبط به شما بازمیگردد، زندگی کنید.
Query Builder:
یک رویکرد قابل انعطاف، به علاوه آشنا برای ایجاد کوئریهای SQL می دهد. و یک رویکرد طبیعی برای ایجاد کوئری های SQL در مورد بخش بزرگی از سازگاری استفاده از SQL مستقیم می دهد.
با استفاده از Query Builder در لاراول، میتوانید JSON را به میزان قابل ملاحظه ای با ستونهای کمتر دریافت کنید.