0Pricing
PHP Academy · درس

عمليات CRUD باستخدام Eloquent

أنشئوا السجلات واقرؤوها وحدّثوها واحذفوها باستخدام أساليب Eloquent

عمليات CRUD باستخدام Eloquent درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.

الإنشاء — save()

أنشئ نسخة من النموذج، واضبط سماته، ثم استدعِ save().

<?php
$post = new Post();
$post->title = "Hello World";
$post->body  = "My first post";
$post->save(); // INSERT INTO posts ...

الإنشاء — create()

تُدرج Model::create() صفًا في سطر واحد باستخدام الإسناد الجماعي. ويتطلب ذلك ضبط $fillable.

<?php
$post = Post::create([
    "title" => "Hello World",
    "body"  => "My first post",
    "user_id" => auth()->id(),
]);

firstOrCreate و updateOrCreate

تبحث firstOrCreate() عن سجل مطابق أو تنشئه. أما updateOrCreate() فتبحث عن السجل وتحدّثه، أو تنشئه إذا لم يوجد.

<?php
// Find or create:
$tag = Tag::firstOrCreate(["name" => "PHP"]);

// Update or create:
$setting = Setting::updateOrCreate(
    ["key" => "theme"],
    ["value" => "dark"]
);

القراءة — all()

استرجع جميع الصفوف على هيئة Eloquent Collection.

<?php
$posts = Post::all(); // SELECT * FROM posts
foreach ($posts as $post) {
    echo $post->title;
}

القراءة — find()

اعثر على سجل باستخدام المفتاح الأساسي. وتُرجع null إذا لم يُعثر عليه. أما findOrFail() فتطرح استثناء 404 عند عدم العثور عليه.

<?php
$post = Post::find(1);
$post = Post::findOrFail(1); // throws ModelNotFoundException if missing

القراءة — where()

رشّح السجلات باستخدام عبارات where(). ويمكنك تسلسل عدة شروط.

<?php
$published = Post::where("is_published", true)
                 ->where("user_id", $userId)
                 ->orderBy("created_at", "desc")
                 ->get();

التحديث — save()

عدّل سمات نموذج موجود ثم استدعِ save()، ما يؤدي إلى إنشاء عملية UPDATE.

<?php
$post = Post::findOrFail(1);
$post->title = "Updated Title";
$post->save(); // UPDATE posts SET title=... WHERE id=1

التحديث — update()

حدّث عدة سجلات تطابق استعلامًا واحدًا في استدعاء SQL واحد.

<?php
Post::where("user_id", $userId)
    ->update(["is_published" => false]);

الحذف — delete()

احذف نسخة نموذج جرى استرجاعها.

<?php
$post = Post::findOrFail(1);
$post->delete(); // DELETE FROM posts WHERE id=1

الحذف — destroy()

تحذف Post::destroy($id) السجل باستخدام المفتاح الأساسي من دون جلب النموذج أولًا.

<?php
Post::destroy(1);
Post::destroy([1, 2, 3]); // delete multiple

ترقيم الصفحات

استخدم paginate() لإرجاع كائن ترقيم صفحات مع تطبيق LIMIT/OFFSET تلقائيًا.

<?php
$posts = Post::latest()->paginate(15);
// In Blade: {{ $posts->links() }}

الملخص

يوفر Eloquent create() وsave() للإدراج، وfind() وwhere() للقراءة، وsave() وupdate() للتحديث، وdelete() وdestroy() للحذف.

تحقّق سريعًا

ما الطريقة التي تطرح استثناءً إذا لم يُعثر على السجل؟

الأسئلة الشائعة

هل درس «عمليات CRUD باستخدام Eloquent» مجاني؟

نعم — نص درس «عمليات CRUD باستخدام Eloquent» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.

ماذا ستتعلم في «عمليات CRUD باستخدام Eloquent»؟

أنشئوا السجلات واقرؤوها وحدّثوها واحذفوها باستخدام أساليب Eloquent تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟

لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «عمليات CRUD باستخدام Eloquent»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟

نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. نماذج Eloquent وعمليات الترحيل
  2. عمليات CRUD باستخدام Eloquent
  3. علاقات Eloquent
  4. التحميل المسبق ونطاقات الاستعلام
← العودة إلى PHP Academy