آموزش Laravel

حذف رکورد در لاراول

حذف رکورد در لاراول با ابزار Eloquent

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

آموزش حذف رکورد در لاراول

آموزش حذف رکورد در لاراول

 

برای اینکه مطلب رو به شکل قابل فهم و کاربردی انتقال بدم با مثال پیش میریم.

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

در این مثال من یک دیتابیس به نام “laravelapp” دارم با جدولی با نام “posts” که ساختار آن مطابق تصویر زیر هست.

جدول دیتابیس MySQL

جدول دیتابیس MySQL

 

از اونجا که می خوایم با Eloquent کار کنیم برای پردازش Delete یا حذف رکورد نیاز به Model داریم که یک مدل با نام “Post” هم ایجاد می کنیم.

خوب موارد مورد نیازم رو الان دارم بریم سراغ مراحل حذف رکورد. 

 

مراحل حذف رکورد با Eloquent در لاراول

1) ما صفحه ای داریم که رکوردها در قالب جدول یا استایل های متفاوت دیگر در آن نمایش داده می شوند، در هر محتوا یک دکمه یا button برای حذف آن رکورد ایجاد می کنیم.

برای نمایش پیام حذف نیز از “session” برای دریافت پیامی که از طرف کنترلر استفاده میشه استفاده می کنم.(خط کد 12)

delete button eloquent
				
					 {{-- Delete Button --}}
  <form action="{{ route('blog.destroy', $post->id) }}" method="POST">
       @csrf
       @method('DELETE')
      <button type="submit" class="bg-red-600 px-2 py-1 rounded text-white italic mt-1">
         Delete
      </button>
  </form>
            
            
            
{{-- Delete Message --}}
 <div class="w-4/5 mx-auto pb-1 rounded px-4 py-1">
    @if(session()->has('message'))
      <p class="bg-red-300 text-red-700">{{ session()->get('message') }}</p>
    @endif
 </div>            
				
			

 

2) کنترلری به نام “PostController” جهت مدیریت روت ها تعریف می کنیم و متد “destroy” رو که جهت حذف رکورد بر اساس “id” یا شناسه دریافتی هست رو به صورت زیر می نویسم.

				
					 public function destroy($id)
    {
        Post::destroy($id);
        return redirect(route('blog.index'))->with('message', 'Post has been deleted.');
    }
				
			

 

3) فایل روت “web.php” رو باز می کنم و روت های مربوط به پردازش های مختلف رو به شکل زیر می نویسم، در اینجا پرددازش اصلی که عملیات حذف می باشد از در خط کد 8 قرار دارد.

				
					Route::prefix('/blog')->group(function () {
    Route::get('/create', [PostController::class, 'create'])->name('blog.create');
    Route::get('/', [PostController::class, 'index'])->name('blog.index');
    Route::get('/{id}', [PostController::class, 'show'])->name('blog.show');
    Route::post('/', [PostController::class, 'store'])->name('blog.store');
    Route::get('/edit/{id}', [PostController::class, 'edit'])->name('blog.edit');
    Route::patch('/{id}', [PostController::class, 'update'])->name('blog.update');
    Route::delete('/{id}', [PostController::class, 'destroy'])->name('blog.destroy');
});
				
			

بدین شکل پس از حذف رکورد کاربر به صفحه نمایش محتوا هدایت میشه یا اگر در همان صفحه می باشد، صفحه رفرش خواهد شد و پیام “Post has been deleted” راا مشاهده خواهد کرد.

 

جمع بندی

در این مقاله سعی کردم آموزش حذف  رکورد رو با استفاده از ابزار eloquent رو به همراه مثال توضیح بدم. امیدوارم این مطلب براتون مفید واقع شده باشه.

لطفا اگر نظر و پیشنهادی در خصوص مطالب و پیشبرد آنها دارید خوشحال میشم در قسمت دیدگاه ها مطرح بفرمایید.

 

مقاله های آموزشی لاراول

کاربرد HTML

 jQuery

جاوا اسکریپت در 1 ساعت

کاربرد CSS

آموزش ReactJS

صفر تا صد PHP

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *