🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ devnafisi
deleted_at
احمدرضا فاطمی کیا حل شده توسط احمدرضا فاطمی کیا

سلام وقت بخیر، چجوری میشه cascade رو فعال کرد ولی توی تیبل ویدئو فقط فیلد deleted_at پر بشود

سلام محمد عزیز 

برای این مورد میتونید از trait لاراول با نام SoftDeletes استفاده کنید. 

برای تنظیم cascade delete به طوری که تنها فیلد deleted_at پر بشه، می‌تونید در مدل Video خودتون، مثل زیر عمل کنید

:use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Video extends Model
{
   use SoftDeletes;
   protected $table = 'videos';
   protected $dates = ['deleted_at'];
   protected $cascadeDeletes = [];
   protected $fillable = ['title', 'url']; // فیلدهای دیگر مدل
   // سایر تعاریف و روش‌های مدل
}

در اینجا، $cascadeDeletes آرایه خالی هست که به این معناست که تمام رابطه‌های دیگه با این مدل از طریق cascade delete حذف نمیشن. اما با تعیین روابط مدل در اینجا، می‌تونید تصمیم بگیرید که چه رابطه‌هایی باید در صورت حذف این مدل هم حذف بشن.اگه قرار هست تنها deleted_at پر بشه و روابط cascade delete نشن، می‌تونید همین تنظیمات رو بر روی مدل خودتون اعمال کنید.

بهترین پاسخ
احمدرضا فاطمی کیا ۱۵ آبان ۱۴۰۲، ۱۷:۵۲