softDelete در لاراول

- 3 هفته پیش
توسط Alimotreb آپدیت شد
علی ( 5856 تجربه )
3 هفته پیش

سلام دوستان من به یه مشکلی برخوردم. من یه تیبل دارم که کلید اصلی ترکیب دو ستون mobile , pr_id هستش. حالا توی مایگریشن اومدم $table->softDelete() رو گذاشتم و توی مدل هم use SoftDeletes رو گذاشتم ولی وقتی دیلیت میکنم کامل حذف میشه از دیتابیس
من فکر میکنم بخاطر تغییر کلید اصلی این اتفاق میفته. کسی به این مشکل برخورده ؟

Alimotreb ( 42272 تجربه )
3 هفته پیش

سلام
@alif

توی مدل :

use SoftDeletes

و توی نیم اسپیس ها از :

use Illuminate\Database\Eloquent\SoftDeletes

و همچنین یه

protected $date=['deleted_at'];

باید داشته باشید توی همون مدل
توی مایگریشن هم باید

$table->SoftDeletes();

باید داشته باشید

علی ( 5856 تجربه )
3 هفته پیش

@Alimotreb
ممنون از پاسخت این کارا رو انجام دادم ولی بازم حذف فیزیکی میکنه. تنها فرقی که داره این قضیه برای من اینه که اومدم کلید اصلی جدول رو عوض کردم دیگه id کلید اصلیم نیست

Alimotreb ( 42272 تجربه )
3 هفته پیش

سلام
@alif

کلید اصلی رو به حالت اولیه برگردونید
و مجدد موارد بالا رو تست بگیرید
و از متد های delete() و restore()
در کنترلر هاتون برای رفتن به سطل زباله و ریستورش استفاده کنید

برای ارسال پاسخ باید وارد سایت شوید