اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

الفرق بين Eloquent ORM و Query Builder في لارافل يكمن في طريقة التعامل مع قاعدة البيانات وتمثيل البيانات:

Eloquent ORM:

ORM هي اختصار لـ Object Relational Mapper

 

w5c5h7gmznjnvmzjocsg.jpeg.6657b1d9b725a0a572e9dd3c5413dd88.jpegحيث يمثل طبقة وسيطة بين قاعدة البيانات وعمليات الطلب عليها اذ يؤمن الاتصال معها دون الخوض في تعلم التعليمات الخاصة بها حيث ميزاته: 

  1. هو نظام لتمثيل الجداول والعلاقات بينها في شكل كائنات (objects).
  2.  يسهل إنشاء العلاقات بين الجداول والتعامل معها.
  3.  يوفر طريقة سهلة لإجراء العمليات مثل الإدخال، التحديث، الحذف، والاستعلام وغيرها.
  4.  تربط كل جدول في قاعدة البيانات بكائن يدعى(model).

مثال عن جلب كافة المستخدمين:

$users = User::all();

مثال عن إنشاء بيانات جديدة:

$user = new User();
$user->name = 'Ali Ibrahim';
$user->email = 'ali@example.com';
$user->save();

Query Builder:

  1. هي أداة تسمح بإنشاء استعلامات SQL برمجياً.
  2. تناسب بناء استعلامات معقدة وتنفيذ عمليات متنوعة على البيانات.
  3. توفر مرونة أكبر في كتابة الاستعلامات البرمجية.

مثال عن جلب كافة المستخدمين:

$users = DB::table('users')->get();


مثال عن إنشاء بيانات جديدة:

DB::table('users')->insert([
    'name' => 'Ali Ibrahim',
    'email' => 'ali@example.com',
]);

أيهما أفضل للاستخدام؟

الاختيار بينهما يعتمد على احتياجات المشروع وتفضيلات المطور.

بشكل عام، Eloquent ORM يوفر طريقة أكثر سهولة وتجريداً للتعامل مع البيانات، بينما Query Builder يوفر مرونة أكبر في كتابة الاستعلامات على قاعدة البيانات.

إذا كنت تقوم بتطوير تطبيق لارافل وتحتاج إلى طريقة بسيطة وسهلة الاستخدام للتفاعل مع قاعدة البيانات، فإن Eloquent يعد خياراً جيداً.

وإذا كنت بحاجة إلى تنفيذ استعلامات معقدة أو إذا كنت بحاجة إلى استخدام ميزات غير مدعومة بواسطة Eloquent أو كنت تهتم بالسرعة، فإن Query Builder هو الخيار الأفضل.

ملاحظة أخيرة: يمكن الدمج بينهما بحيث يمكن اعتماد ORM للمشروع كامل وفي بعض الحالات نستخدم Query Builders

 

https://academy.hsoub.com/questions/24095-ما-هو-الفرق-بين-eloquent-و-query-builder-في-laravel؟/https://academy.hsoub.com/questions/24095-ما-هو-الفرق-بين-eloquent-و-query-builder-في-laravel؟/

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...