الدورات

title


إعداد الاتصال بقاعدة البيانات وإنشاء الجداول باستخدام Migrations في Laravel

إعداد الاتصال بقاعدة البيانات وإنشاء الجداول باستخدام Migrations في Laravel

إعداد الاتصال بقاعدة البيانات وإنشاء الجداول باستخدام Migrations في Laravel

مع شرح التعامل مع البيانات (CRUD) — مكتوب بأسلوب تعليمي واحترافي ومتوافق تمامًا مع SEO، ومناسب للمبتدئين.


مقدمة

يُعد التعامل مع قاعدة البيانات من أهم مراحل بناء أي تطبيق ويب باستخدام لارافيل (Laravel).

يوفر الإطار أدوات قوية تسهّل إعداد الاتصال بقاعدة البيانات، وإنشاء الجداول، والتعامل مع البيانات باستخدام Migrations وEloquent ORM.

في هذا الدرس، سنتعلم كيف نقوم بإعداد الاتصال بقاعدة البيانات، إنشاء الجداول، ثم تنفيذ عمليات CRUD (إضافة – قراءة – تحديث – حذف).

إعداد الاتصال بقاعدة البيانات في Laravel

يُخزن Laravel إعدادات قاعدة البيانات داخل ملف البيئة .env الموجود في جذر المشروع.

من خلال هذا الملف، يمكنك ضبط نوع قاعدة البيانات وبيانات الاتصال بها.

مثال على إعداد الاتصال بقاعدة بيانات MySQL:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_app
DB_USERNAME=root
DB_PASSWORD=

يتم استخدام هذه القيم تلقائيًا من خلال ملف الإعدادات:

config/database.php

بعد تعديل القيم، يمكنك اختبار الاتصال عن طريق تنفيذ أي أمر يستخدم قاعدة البيانات مثل:

php artisan migrate

إنشاء الجداول باستخدام Migrations

ما هي الـ Migrations؟

الـ Migration هي طريقة منظمة لإنشاء وتعديل الجداول في قاعدة البيانات باستخدام الأكواد، بدلاً من كتابة أوامر SQL يدويًا.

بهذا الشكل، يمكن لأي مطور في الفريق مشاركة نفس هيكل قاعدة البيانات بسهولة.

إنشاء Migration جديد

لإنشاء Migration جديد استخدم الأمر:

php artisan make:migration create_products_table

سيُنشئ الملف في المسار التالي:

database/migrations/2025_10_22_000000_create_products_table.php

مثال على كود Migration:

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration {
    public function up(): void
    {
        Schema::create('products', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->decimal('price', 8, 2);
            $table->text('description')->nullable();
            $table->timestamps();
        });
    }

    public function down(): void
    {
        Schema::dropIfExists('products');
    }
};
  • الدالة up() تُستخدم لإنشاء الجدول.
  • الدالة down() تُستخدم لحذف الجدول في حال التراجع عن التغييرات.

تنفيذ الـ Migrations

لتطبيق التغييرات على قاعدة البيانات، استخدم الأمر:

php artisan migrate

وسيتم إنشاء جميع الجداول المحددة في ملفات الـ migrations داخل قاعدة البيانات.


التعامل مع البيانات باستخدام Eloquent ORM (عمليات CRUD)

بعد إعداد قاعدة البيانات وإنشاء الجداول، نبدأ بالتعامل مع البيانات.

يُعتبر Eloquent ORM الطريقة المدمجة في Laravel لإدارة العمليات الأساسية على الجداول.

إنشاء نموذج (Model)

لإنشاء نموذج مرتبط بجدول قاعدة البيانات:

php artisan make:model Product

سيُنشأ الملف:

app/Models/Product.php

مثال على النموذج:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
    protected $fillable = ['name', 'price', 'description'];
}

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

Product::create([
    'name' => 'Laptop',
    'price' => 1200.50,
    'description' => 'High-performance laptop for developers'
]);

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

جلب جميع السجلات:

$products = Product::all();

جلب سجل واحد:

$product = Product::find(1);

3. تحديث البيانات (Update)

$product = Product::find(1);
$product->price = 1350.00;
$product->save();

4. حذف البيانات (Delete)

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

ملاحظة مهمة

يمكنك استخدام أوامر Artisan لتسهيل العمل مع قاعدة البيانات مثل:

  • عرض جميع Migrations المنفذة:
php artisan migrate:status
  • التراجع عن آخر Migration:
php artisan migrate:rollback
  • حذف كل الجداول وإعادة تنفيذ Migrations:
php artisan migrate:refresh

الخلاصة

Laravel يقدم نظامًا متكاملًا لإدارة قاعدة البيانات من خلال Migrations وEloquent ORM.

باستخدامهما، يمكنك إنشاء الجداول وإدارة البيانات بطريقة منظمة وآمنة وسهلة التوسيع.

هذه الأدوات تجعل بناء تطبيقات ويب احترافية أكثر سهولة، وتُغنيك عن كتابة أوامر SQL المعقدة يدويًا.


سجل بالدورة الأفضل والأشهر في مجال الويب