Eloquent ORM Documentation

From binaryoption
Jump to navigation Jump to search
Баннер1
    1. Eloquent ORM: دليل شامل للمبتدئين

Eloquent هو نموذج-رابط-تحكم (Model-Relationship-Controller) أداة نمطية للوصول إلى قواعد البيانات في لغة PHP، وهو جزء أساسي من إطار العمل Laravel. يهدف Eloquent إلى جعل التفاعل مع قواعد البيانات أكثر سهولة ومرونة، ويوفر طريقة أنيقة لكتابة استعلامات قاعدة البيانات. هذا المقال موجه للمبتدئين، ويهدف إلى تقديم فهم شامل لـ Eloquent ORM وكيفية استخدامه.

ما هو ORM؟

ORM اختصار لـ Object-Relational Mapping (تخطيط الكائنات العلائقية). ببساطة، هو تقنية تقوم بربط الكائنات الموجهة نحو الكائنات (Objects) في لغة البرمجة بجداول البيانات العلائقية (Relational Databases). بدلاً من كتابة استعلامات SQL مباشرة، يتيح لك ORM التفاعل مع البيانات باستخدام كائنات وخصائص، مما يجعل الكود أكثر قابلية للقراءة والصيانة. بدون ORM، يجب عليك كتابة استعلامات SQL معقدة للوصول إلى البيانات، تعديلها، وحذفها. Eloquent يختصر هذه العملية بشكل كبير.

لماذا نستخدم Eloquent؟

  • **سهولة الاستخدام:** Eloquent يجعل التفاعل مع قواعد البيانات بديهيًا وسهلاً.
  • **الأمان:** يساعد في منع حقن SQL من خلال استخدام معلمات مُعدة (Prepared Statements).
  • **القراءة:** الكود يصبح أكثر وضوحًا وقابلية للقراءة مقارنة بكتابة استعلامات SQL مباشرة.
  • **الصيانة:** تغييرات قاعدة البيانات تصبح أسهل في التعديل والتطبيق.
  • **المرونة:** يدعم العديد من أنظمة قواعد البيانات مثل MySQL، PostgreSQL، SQLite، و SQL Server.
  • **العلاقات:** يوفر طريقة سهلة لتعريف وإدارة العلاقات بين الجداول (مثل علاقة واحد لواحد، واحد لكثير، وكثير لكثير).

البدء مع Eloquent

1. **التكوين:** تأكد من أنك قمت بتكوين اتصال قاعدة البيانات بشكل صحيح في ملف `config/database.php` الخاص بـ Laravel. 2. **إنشاء النماذج (Models):** لكل جدول في قاعدة البيانات، قم بإنشاء نموذج (Model) يمثله. عادةً ما يتم تخزين النماذج في دليل `app/Models`. على سبيل المثال، لجدول `users`، قم بإنشاء ملف `app/Models/User.php`.

   ```php
   <?php
   namespace App\Models;
   use Illuminate\Database\Eloquent\Model;
   class User extends Model
   {
       //
   }
   ```
   بشكل افتراضي، يفترض Eloquent أن اسم الجدول المطابق للنموذج هو الاسم الجمع للنموذج (مثل `users` للنموذج `User`).  يمكنك تغيير هذا السلوك عن طريق تحديد خاصية `table` في النموذج:
   ```php
   protected $table = 'my_users_table';
   ```

3. **الوصول إلى البيانات:** استخدم النموذج لاسترداد البيانات من قاعدة البيانات.

   *   **استرداد جميع السجلات:**
       ```php
       $users = User::all();
       ```
   *   **استرداد سجل واحد:**
       ```php
       $user = User::find(1); // استرداد المستخدم بمعرف 1
       ```
   *   **استرداد السجلات باستخدام شروط:**
       ```php
       $users = User::where('status', 'active')->get();
       ```
       هذا يستخدم بناء الجملة (Syntax) الخاص بـ Eloquent للاستعلامات.

4. **إضافة بيانات:**

   ```php
   $user = new User;
   $user->name = 'John Doe';
   $user->email = 'john.doe@example.com';
   $user->save();
   ```

5. **تعديل بيانات:**

   ```php
   $user = User::find(1);
   $user->name = 'Jane Doe';
   $user->save();
   ```

6. **حذف بيانات:**

   ```php
   $user = User::find(1);
   $user->delete();
   ```

العلاقات في Eloquent

Eloquent يوفر دعمًا قويًا للعلاقات بين الجداول. تشمل أنواع العلاقات الشائعة:

  • **واحد لواحد (One-to-One):** على سبيل المثال، قد يكون لكل مستخدم ملف تعريف واحد.
  • **واحد لكثير (One-to-Many):** على سبيل المثال، قد يكون للمستخدم الواحد العديد من المقالات.
  • **كثير لكثير (Many-to-Many):** على سبيل المثال، قد يكون للمستخدم الواحد العديد من الأدوار، وقد يكون للدور الواحد العديد من المستخدمين.

لتعريف العلاقات، استخدم الطرق `hasOne()‎`، `hasMany()‎`، و `belongsToMany()‎` في النماذج. راجع وثائق Laravel للحصول على أمثلة تفصيلية لكل نوع علاقة.

خصائص Eloquent الإضافية

  • **الحقول المحمية (Guarded):** تحديد الحقول التي لا يجب تعيينها بشكل جماعي (Mass Assignment).
  • **الحقول القابلة للتعيين (Fillable):** تحديد الحقول التي يمكن تعيينها بشكل جماعي.
  • **التواريخ (Dates):** تحديد الحقول التي يجب التعامل معها كتاريخ.
  • **الوصول والتحويل (Accessors و Mutators):** تحديد طرق لتعديل القيم قبل الوصول إليها أو قبل حفظها.

أفضل الممارسات

  • **استخدم النماذج:** تجنب كتابة استعلامات SQL مباشرة قدر الإمكان.
  • **استخدم العلاقات:** استفد من العلاقات لتسهيل الوصول إلى البيانات المرتبطة.
  • **استخدم الحقول المحمية والقابلة للتعيين:** لحماية تطبيقك من هجمات الحقن.
  • **اكتب اختبارات:** تأكد من أن الكود الخاص بك يعمل بشكل صحيح.
  • **راجع وثائق Laravel بانتظام:** للحصول على أحدث المعلومات والتحديثات.

استراتيجيات تداول الخيارات الثنائية ذات الصلة (للتوضيح - رغم أنها خارج نطاق Eloquent مباشرة)

تحليل حجم التداول (Volume Analysis)

فهم حجم التداول ضروري لاتخاذ قرارات مستنيرة في تداول الخيارات الثنائية. تحليل حجم التداول يمكن أن يؤكد أو يضعف الإشارات التي يقدمها المؤشرات الفنية.

تحليل فني متقدم

بالإضافة إلى المؤشرات الأساسية، يمكن استخدام تقنيات التحليل الفني المتقدم مثل نماذج الموجات إليوت و نظرية الفوضى لتحسين دقة التنبؤات.

الموارد الإضافية

    • الفئة:Eloquent**

ابدأ التداول الآن

سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер