راکت
محمد
محمد
توسط محمد مطرح شد
5 پاسخ

Restore کردن دیتا

من میخام وقتی کاربر مثلا مقاله ای را پاک میکنه یجایی در جدولی لیست مقالات پاک شده را ببینه و اگر خواست بتونه با انتخاب هر مقاله restore کنه.
میدونم که از Softdelete بایستی استفاده کرد اما خب نمیدونم چطوره و چه مدلی اطلاعات \اک شده را برگردونم.
ممنون میشم با تکه کدی یا نمونه پروژه ای من را راهنمایی کنید.


ثبت پرسش جدید
سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza668 سال پیشمطرح شد
1

در مدل مقالاتت، یک فیلد دیگه در تیبل ت اضاف کن بنام.
$table->softDeletes();

هرجا خواستی دلیت انجام بدی این متد
$flights = App\Flight::withTrashed()
->where('account_id', 1)
->get();

رو فراخونی کن.، یک فرمت تاریخ در فیلد softdelete اضاف میشه که لاراول در صورت پر بودن اون فیلد ، کل دیتا ردیف رو در نظر نمیگیره، شما برای باز گردانی فیلدات میتونی با اپدیت کردن دیتابیست و خالی کردن فیلدت در اصل بازگردانی رو انجام بدی،

$flight->restore();

لاراول وقتی اون فیلد خالی باشه ردیفت در دیتابیس رو هم حساب میکنه..


محمد امیر محمدی
محمد امیر محمدی
تخصص :برنامه نویس لاراول و ویو جی اس
@mem.amir.m8 سال پیشمطرح شد
2

در مدل مقالاتت، یک فیلد دیگه در تیبلت اضاف کن بنام.

$table->softDeletes();

هرجا خواستی دلیت انجام بدی این متد

$articles = AppArticle::withTrashed()
->where('account_id', ۱)
->get();

رو فراخونی کن.، یک فرمت تاریخ در فیلد deleted_at اضافه میشه که لاراول در صورت پر بودن اون فیلد ، کل دیتا ردیف رو در نظر نمیگیره، شما برای باز گردانی فیلدات میتونی با اپدیت کردن دیتابیست و خالی کردن فیلدت در اصل بازگردانی رو انجام بدی،

$articles->restore();

لاراول وقتی اون فیلد خالی باشه ردیفت در دیتابیس رو هم حساب میکنه..

"اصلاح کامنت دوستمون"


سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza668 سال پیشمطرح شد
0

متشکر دوست خوبم امیرجان

و جهت صحیح پیامم بگم که؛

فیلدی به نام deleted_at در دیتابیس منظوزم بود اشتباه بالا گفتم softdelete

متد حذف کردن هم همون تابع
delete()

اون تابع بالا برای گرفتن ایتم های حذف شده بود


محمد
محمد
@man8 سال پیشمطرح شد
0

account_id منظور چی هست؟


محمد امیر محمدی
محمد امیر محمدی
تخصص :برنامه نویس لاراول و ویو جی اس
@mem.amir.m8 سال پیشمطرح شد
0

البته میتونه جای account_id هرچیزی باشه.چون سلکت کردن هست دیگه.
ولی اینجا فکر کنم منظور دوستمون همون آی دی یوزری هست که این مقالات رو نوشته.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام