راکت
حل شده

تفاوت eloquent و query builder

3 پاسخ

سلام خدمت اساتید و دوستان گرامی

آیا درسته که بگیم زمانی که تعداد رکورد ها کم باشه بهتره با eloquent کوئری رو بنویسیم و برای رکوردهای زیاد و کوئری های پیچیده از query builder ؟؟

ثبت پرسش جدید

پاسخ‌ها

3
میلاد هدایت پور
میلاد هدایت پور
@miladparsi1070

تخصص: در حال پیشرفت

بهترین پاسخ

elequent از نظر امنیت کامل تر از query builder هست و یسری از حمله هایی که به سایت میشه رو خودش جلوگیری میکنه
و کار کردن باهاشم راحتتره چون به زبان انسان نزدیکتره به نظرم
من همیشه از elequent ها استفاده میکنم

محسن مهری
محسن مهری
@mohsen.mehri6101

تخصص: برنامه نویس back-end با زبان php framework laravel

eloquent از روش mvc استفاده میکنه و به قول دوستمون از امنیت بالاتری برخورداره، همچنین تعریف یک سری توابع برای روابط بین جداول ( چند به چند و یک به یک و ...) واقعا استفاده ازش رو شیرین تر و راحت تر کرده
معمولا از querybuilder توی seeder ها یا توی seed ها استفاده میکنم( میکنن) یعنی ساخت داده های فیک برای تست

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

دوستان قبل از ارسال پاسخ برای سوالات.. کمی بیشتر تحقیق کنید بد نیست

کوئری بیلدر همونطور که از نامش پیداست..
کوئری میسازه و مشکل امنیتی نداره

حالا در کنارش لاراول از یک (Object Relational Mapper) ORM هم به نام Eloquent استفاده میکنه
که اگر کد های الکوئنت رو بررسی کنید، میبینید الکوئنت هم در نهایت داره از کوئری بیلدر استفاده میکنه. فقط یک wrapper هست که API نسبتا جالب تری داره و اومده روابط (Relations) رو هم پیاده سازی کرده.
پس کوئری بیلدر هیچ مشکل امنیتی نداره

تنها زمانی مشکل امنیتی پیش میاد که شما کوئری های خام (Raw) بنویسید و دقت کافی رو نداشته باشید. که این پروسه میتونه چه با Eloquent و چه با Query Builder اتفاق بیفته.

حالا با تعداد رکوردهای بالا، بعضی مواقع میاند و به صورت خام کوئری رو مینویسند که از لحاظ پرفرمنس یه مقدار بهبود در سرعت داشته باشند.

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام