مقدمة إلى Eloquent ORM في Laravel: التعامل مع قواعد البيانات

Amine
30/08/2024

المقدمة

Eloquent ORM هو نظام ORM (Object-Relational Mapping) مدمج في Laravel يتيح لك التعامل مع قواعد البيانات باستخدام نماذج PHP. يتيح لك Eloquent كتابة استعلامات قواعد البيانات بطريقة أنيقة وسهلة الفهم دون الحاجة إلى كتابة SQL يدوي. في هذا الدليل، سنتعرف على كيفية استخدام Eloquent لإجراء عمليات CRUD (إنشاء، قراءة، تحديث، حذف) في قواعد البيانات.

ما هو Eloquent ORM في Laravel؟

Eloquent هو نظام ORM يستخدم لإنشاء نماذج PHP تمثل الجداول في قاعدة البيانات. يسهل Eloquent التعامل مع البيانات من خلال توفير واجهة برمجية بسيطة وواضحة لإنشاء الاستعلامات وتعديل البيانات. يوفر Eloquent ميزة الربط بين الجداول (relationships) وميزات متقدمة أخرى تسهل العمل مع قواعد البيانات في Laravel.

الخطوة 1: إنشاء نموذج Eloquent جديد

لإنشاء نموذج جديد باستخدام Eloquent، يمكنك استخدام أداة سطر الأوامر Artisan الخاصة بـ Laravel. افتح سطر الأوامر في مجلد مشروع Laravel الخاص بك واستخدم الأمر التالي لإنشاء نموذج:

php artisan make:model Product

سيقوم هذا الأمر بإنشاء ملف نموذج جديد يُسمى Product.php في مجلد app/Models.

الخطوة 2: إعداد النموذج

يمكنك تخصيص نموذج Eloquent الخاص بك عن طريق تحديد الحقول القابلة للتعبئة (fillable) والحقول المخفية (hidden) وغيرها من الخصائص. افتح ملف Product.php وأضف الإعدادات التالية:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
    use HasFactory;

    protected $fillable = ['name', 'price', 'description'];
}

هذه الإعدادات تسمح بتحديد الحقول التي يمكن تعبئتها عبر النموذج لحمايتها من هجمات التخصيص الجماعي (Mass Assignment).

الخطوة 3: إجراء عمليات CRUD باستخدام Eloquent

باستخدام Eloquent، يمكنك إجراء عمليات CRUD بسهولة. لنقم بمراجعة كيفية إجراء كل عملية:

1. إنشاء سجل جديد (Create)

لإضافة سجل جديد إلى قاعدة البيانات، يمكنك استخدام طريقة create:

$product = Product::create([
    'name' => 'منتج جديد',
    'price' => 99.99,
    'description' => 'وصف المنتج'
]);

2. قراءة البيانات (Read)

يمكنك جلب البيانات من قاعدة البيانات باستخدام طرق Eloquent المختلفة:

$products = Product::all(); // جلب جميع المنتجات

$product = Product::find(1); // جلب المنتج بالمعرف 1

$product = Product::where('name', 'منتج جديد')->first(); // جلب المنتج الأول الذي يحمل اسم معين

3. تحديث سجل موجود (Update)

لتحديث سجل موجود، جلب السجل أولاً ثم استخدم طريقة update:

$product = Product::find(1);
$product->update([
    'price' => 119.99
]);

4. حذف سجل (Delete)

لحذف سجل من قاعدة البيانات، استخدم طريقة delete:

$product = Product::find(1);
$product->delete();

الخطوة 4: التعامل مع العلاقات (Relationships)

يوفر Eloquent أنواعًا متعددة من العلاقات مثل One-to-One، One-to-Many، وMany-to-Many. لنفترض أنك تريد تعريف علاقة One-to-Many بين المنتجات والفئات:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    use HasFactory;

    public function products()
    {
        return $this->hasMany(Product::class);
    }
}

يمكنك الآن جلب جميع المنتجات المرتبطة بفئة معينة باستخدام:

$category = Category::find(1);
$products = $category->products;

الخاتمة

Eloquent ORM في Laravel يوفر طريقة فعالة وبسيطة للتعامل مع قواعد البيانات. من خلال التعرف على أساسيات Eloquent، يمكنك بسهولة إدارة البيانات، وتنفيذ عمليات CRUD، وإنشاء علاقات بين الجداول. استمر في استكشاف المزيد من ميزات Eloquent لتحسين قدرات تطبيقاتك في Laravel.

لمزيد من المعلومات، يمكنك زيارة المستندات الرسمية للارافيل.

التعليقات

اترك تعليقاً