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

السؤال

Recommended Posts

  • 0
نشر

يمكنك مقاربة هاته الفكرة باضافة حقل يعنى بذلك في جدول المقالات، وليكن is_published ويحمل قيمة بوليانية تعبر عما ان كان المقال منشورا أو لا، 
أنشئ ملف تهجير جديد يضيف الحقل الى الجدول:

php artisan make:migration add_is_published_to_articles_table --table=articles

ثم ضع بداخل الملف المحتوى التالي: 

public function up()
{
    Schema::table('articles', function($table) {
        $table->integer('is_published')->default(false);
    });
}

الآن قم بتهجير الملف: 

php artisan migrate

لاحقا، قم بعرض المقالات المنشورة فقط في الصفحات العامة التي يراها الزوار: 

$articles = Article::whereIsPublished(true)->get();

أنشئ ملف عرض لإدارة المقالات وأضف إليها محتوى مشابه: 

<form method="POST" action="/articles/{{ $article->id }}/update-status">
  @method('PATCH')
  @csrf 
  
  <input type="submit" value="تبديل الحالة" />
</form>

أضف المسار الجديد الى ملف المسارات: 

Route::patch('/articles/{article}/update-status', function($article){
    $article->update([
       'is_published' => !$article->is_published
    ]);
});

هاته هي الفكرة بمجملها، يمكنك التوسع فيها أكثر عن طريق تنظيمها أو اضافة المزيد من الميزات أو لخدمة حالات استخدام اخرى.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...