
عملیات CRUD در لاراول
- 10 اسفند 1403
در این مقاله، مراحل پیادهسازی عملیات CRUD در لاراول را بررسی کردهایم. ابتدا مدل و مایگریشن را ایجاد کرده، سپس عملیات ایجاد، خواندن، بروزرسانی و حذف دادهها را با استفاده از Blade پیادهسازی کردهایم.
عملیات CRUD در لاراول
CRUD مخفف چهار عملیات اصلی در مدیریت دادهها است:
- Create (ایجاد)
- Read (خواندن)
- Update (بهروزرسانی)
- Delete (حذف)
لاراول یک فریمورک PHP قدرتمند است که پیادهسازی عملیات CRUD را بسیار آسان میکند. در این مقاله، نحوه پیادهسازی CRUD در لاراول را با استفاده از Blade توضیح خواهیم داد.
۱. ایجاد مدل، مایگریشن و کنترلر
ابتدا یک مدل به همراه مایگریشن و کنترلر برای مدیریت دادهها ایجاد میکنیم:
php artisan make:model Post -mcr
این دستور یک مدل Post
، یک کنترلر PostController
و یک فایل مایگریشن ایجاد میکند.
تعریف ساختار جدول در مایگریشن
فایل مایگریشن در مسیر database/migrations
قرار دارد. ساختار جدول را در این فایل مشخص میکنیم:
public function up() { Schema::create('posts', function (Blueprint $table) { $table->id(); $table->string('title'); $table->text('content'); $table->timestamps(); }); }
سپس برای اعمال این تغییرات در پایگاه داده، دستور زیر را اجرا میکنیم:
php artisan migrate
۲. پیادهسازی عملیات CRUD در کنترلر
ایجاد (Create) همراه با اعتبارسنجی
در PostController
متد store
را به صورت زیر تعریف میکنیم:
public function store(Request $request) { $validated = $request->validate([ 'title' => 'required|string|max:255', 'content' => 'required|string', ]); Post::create($validated); return redirect()->route('posts.index')->with('success', 'Post created successfully.'); }
در مدل Post
ویژگی fillable
را مشخص میکنیم:
protected $fillable = ['title', 'content'];
خواندن (Read) اطلاعات و نمایش در Blade
public function index() { $posts = Post::all(); return view('posts.index', compact('posts')); }
در فایل resources/views/posts/index.blade.php
:
@extends('layouts.app') @section('content') <h1>All Posts</h1> <a href="{{ route('posts.create') }}">Create New Post</a> <ul> @foreach($posts as $post) <li> <a href="{{ route('posts.show', $post->id) }}">{{ $post->title }}</a> </li> @endforeach </ul> @endsection
مشاهده جزئیات یک پست
public function show($id) { $post = Post::findOrFail($id); return view('posts.show', compact('post')); }
در فایل resources/views/posts/show.blade.php
:
@extends('layouts.app') @section('content') <h1>{{ $post->title }}</h1> <p>{{ $post->content }}</p> <a href="{{ route('posts.edit', $post->id) }}">Edit</a> <form action="{{ route('posts.destroy', $post->id) }}" method="POST"> @csrf @method('DELETE') <button type="submit">Delete</button> </form> @endsection
بهروزرسانی (Update) با فرم Blade
public function edit($id) { $post = Post::findOrFail($id); return view('posts.edit', compact('post')); } public function update(Request $request, $id) { $post = Post::findOrFail($id); $validated = $request->validate([ 'title' => 'required|string|max:255', 'content' => 'required|string', ]); $post->update($validated); return redirect()->route('posts.index')->with('success', 'Post updated successfully.'); }
در resources/views/posts/edit.blade.php
:
@extends('layouts.app') @section('content') <h1>Edit Post</h1> <form action="{{ route('posts.update', $post->id) }}" method="POST"> @csrf @method('PUT') <label>Title:</label> <input type="text" name="title" value="{{ $post->title }}" required> <label>Content:</label> <textarea name="content" required>{{ $post->content }}</textarea> <button type="submit">Update</button> </form> @endsection
حذف (Delete) با بررسی وجود رکورد
public function destroy($id) { $post = Post::findOrFail($id); $post->delete(); return redirect()->route('posts.index')->with('success', 'Post deleted successfully.'); }
۳. تعریف مسیرها در routes/web.php
use App\Http\Controllers\PostController; Route::resource('posts', PostController::class);
این دستور تمام عملیات CRUD را برای مدل Post
در Blade لاراول پیادهسازی میکند.
نتیجهگیری
در این مقاله، مراحل کامل پیادهسازی عملیات CRUD در لاراول را با استفاده از Blade بررسی کردیم. این روش برای توسعه برنامههای وب با قابلیت نمایش سمت سرور بسیار مناسب است.
در بهبود مقاله شریک باشید
قبل از ثبت نظر باید وارد حساب کاربری خود شوید و اطلاعات پروفایل را کامل کنید
ثبت نام یا ورودقوانین ارسال دیدگاه
لطفاً قبل از ارسال دیدگاه، قوانین زیر را مطالعه کنید:
- دیدگاه باید مرتبط با موضوع مقاله باشد.
- از بهکار بردن الفاظ نامناسب خودداری کنید.
- تبلیغات در بخش نظرات مجاز نیست.