متین
4 سال پیش توسط متین مطرح شد
3 پاسخ

تفاوت eloquent و query builder

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

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


ثبت پرسش جدید
میلاد هدایت پور
تخصص : در حال پیشرفت
@miladparsi1070 4 سال پیش مطرح شد
-1

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


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 4 سال پیش آپدیت شد
1

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
4

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

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

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

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

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


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

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