آموزش Soft Deleting (حذف نرم) در لاراول

آموزش Soft Deleting (حذف نرم) در لاراول

دسته : فریم ورک لاراول

کد محصول : 57

قیمت : رایگان

آموزش Soft Deleting (حذف نرم) در لاراول همراه با مثال در جاب تیم از مجموعه آموزش رایگان لاراول در این مطلب آموزش داده می شود. همیشه در پروژه ها نیازمند پیاده سازی حذف نرم بوده ایم و هر تیم برنامه نویسی با روش و ساز و کار خودشان این کار را انجام می دادند. مثلا با افزودن یک فیلد boolean که با مقدار true و false که نشان می داد این سطر از جدول خذف شده است یا نه ! و برای این کار نیز باید کدهایی به model های مربوطه اضافه می شد. لاراول در نسخه های جدید Soft Deleting را اضافه کرد و با اضافه شدن حذف نرم به لاراول بسیاری از پیچیدگی ها کم شد...


آموزش Soft Deleting (حذف نرم) در لاراول همراه با مثال در جاب تیم از مجموعه آموزش رایگان لاراول در این مطلب آموزش داده می شود. همیشه در پروژه ها نیازمند پیاده سازی حذف نرم  بوده ایم و هر تیم برنامه نویسی با روش و ساز و کار خودشان این کار را انجام می دادند. مثلا با افزودن یک فیلد boolean  که با مقدار true و false که نشان می داد این سطر از جدول خذف شده است یا نه !  و برای این کار نیز باید کدهایی به model های مربوطه اضافه می شد. لاراول در نسخه های جدید Soft Deleting را اضافه کرد و با اضافه شدن حذف نرم به لاراول بسیاری از پیچیدگی ها کم شد و نیازی به پیاده سازی این مراحل نیست

Soft Deleting چیست؟

Soft Deleting یا حذف نرم به شما کمک می کند که بدون حذف سطری از جدول به صورت نرم این سطر را از نتایج کوئری های خود خارج کنید و یک فیلد با نام deleted_at به تمام سطرها اضافه می کند null بودن این فیلد به منزله حذف و در صورت حذف با تاریخ و زمان دقیق درخواست مقداردهی می شود. به صورت عملی نیز شما در هنگام ساختن یک جدول برای افزودن این ویژگی کد زیر را به migration خود اضافه کنید

$table->softDeletes();

و در مدل مورد نظر کد ذیل را اضافه می کنیم

use Illuminate\Database\Eloquent\SoftDeletes; // کتابخانه حذف نرم که در قسمت کتابخانه های کلاس مورد نظر افزوده می شود
use SoftDeletes;  // فراخونی داخل بدنه کلاس مورد نظر

مثال Soft Deleting

namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Flight extends Model
{
   use SoftDeletes;  }

کوئری های soft deleting

برای فراخوانی سطرهای حذف شده همراه با کوئری از withTrashed استفاده می کنیم به مثال ذیل دقت کنید

$flights = App\Flight::withTrashed()
                ->where('account_id', 1)
                ->get();

برای فراخونی سطرهای حذف شده بدون سطرهای دیگر از onlyTrashed استفاده می کنیم به مثال ذیل دقت کنید

$flights = App\Flight::onlyTrashed()
                ->where('airline_id', 1)
                ->get();

بعضی اوقات شاید به اشتباه یک داده را حذف نرم کنید برای بازگردانی باید از قطعه کد زیر استفاده کنید

$flight->restore();

بحث soft delete گسترده تر می باشد و بنا به پروژه ای که انجام می دهید می توانید از امکانات مختلف آن استفاده کنید ما منبع اصلی را نیز برای شما پیوست کرده ایم شما می توانید آموزش کامل حذف نرم در لاراول به زبان انگلیسی را در سایت اصلی آن مشاهده کنید

منبع  : Soft Deleting

  • آموزش Soft Deleting (حذف نرم) در لاراول را با دوستان خود به اشتراک بگذارید.
  • سوالات خود را در بخش پرسش و پاسخ این مطلب ثبت کنید.
  • مطالب خود را در جاب تیم به اسم خود ثبت کنید ارسال مطلب


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