حذف داده های قدیمی جداول دیتابیس با لاراول

حذف داده های قدیمی جداول دیتابیس با لاراول

زمان مطالعه

5 دقیقه

تعداد بازدید

735

تعداد پرسش ها

0

افزودن به لیست علاقه مندی ها


برچسب ها :


اشتراک گذاری این مطلب
بهزاد میرزازاده
در مورد نویسنده : همیشه سخت تلاش کردم و به موفقیت های خیلی زیادی رسیدم اما دلیل نشد که متوقف بشم من برای هر روز برنامه دارم و به امید موفقیت های بزرگتر قدم بر میدارم همیشه سخت ترین مسئله ها، ساده ترین راه حل رو دارند پس بهانه جویی نباید روش کار ما برنامه نویسان باشه!!! ما می توانیم آینده را تعیین کنیم

حذف داده های قدیمی جداول دیتابیس با لاراول

حذف داده های قدیمی جداول دیتابیس با لاراول

زمان مطالعه

5 دقیقه

تعداد بازدید

735

تعداد پرسش ها

0

افزودن به لیست علاقه مندی ها


برچسب ها :


اشتراک گذاری این مطلب

گاهی اوقات بعد از فعالیت سایت شما برخی از جداول که برای لاگیری ایجاد شده اند دارای حجم و تعداد رکورد بسیار بالا می باشند و موجب کند شدن دیتابیس می شوند.  عموما یک کوئری برای این کار نوشته می شود که مثلا با انجام اتفاق خاص یا در زمان های خاص، اجرا می شود و رکورد هایی که با شرط شما برابری کند را از دیتابیس حذف می کند

ما در این مطلب حذف داده های قدیمی جداول دیتابیس با لاراول را می خواهیم با این فرضیات انجام دهیم

  • داده های یک ماه قبل 
  • جدول visit
  • اجرای کوئری با ورود کاربر به پنل کاربری

در مورد گزینه آخری شما می توانید از یک جاب در لاراول استفاده کنید که مثلا ساعت 3 بامداد اتوماتیک این کار را برای شما انجام دهد

قدم اول : به دست آوردن تاریخ 30 روز پیش، من از Carbon برای اینکار استفاده کردم شما میتونید از strtotime خود php هم استفاده کنید

use Carbon\Carbon; // اینو باید به اول کلاستون اضافه کنید

خب تاریخ 30 روز پیش رو ایجاد می کنیم 

$date=Carbon::now()->subDays(30)->format('Y-m-d'); 

مرحله آخر میگیم از مدل Visit (همون جدول ویزیت در دیتابیس که تو لاراول براش مدل ساختیم) سطرهایی که با شرط ما برابری می کنند رو حذف کن

Visit::where('created_at','<=',$date)->delete();

کل کد برای حذف داده های قدیمی جداول دیتابیس با لاراول

namespace App\Http\Controllers\Admin;
use App\Visit;
use Carbon\Carbon;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class AdminController extends Controller
{
   public function index()
    {
       $date=Carbon::now()->subDays(30)->format('Y-m-d');
       $visit=Visit::where('created_at','<=',$date)->delete();
    }
}

 

بهزاد میرزازاده
در مورد نویسنده : همیشه سخت تلاش کردم و به موفقیت های خیلی زیادی رسیدم اما دلیل نشد که متوقف بشم من برای هر روز برنامه دارم و به امید موفقیت های بزرگتر قدم بر میدارم همیشه سخت ترین مسئله ها، ساده ترین راه حل رو دارند پس بهانه جویی نباید روش کار ما برنامه نویسان باشه!!! ما می توانیم آینده را تعیین کنیم


نظرات
0