Laravel ile CRUD İşlemleri: Blog Uygulaması Örneği

laravel ile crud işlemleri

Laravel ile crud işemleri konusuyla karşınızdayız. Laravel’de crud işlemlerini detaylıca anlatacağımız bu yazımıza hoş geldiniz. Laravel ile crud işlemleri çok kolay kavrayabileceğiniz basit ve kolay işlemlerle anlatıyoruz.

Laravel ile CRUD İşlemleri: Blog Uygulaması Örneği

Önceki yazılarda, Laravel’i kurma, basit bir blog uygulaması oluşturma ve temel rotaları tanımlama işlemlerini inceledik. Bu yazıda ise Laravel’de CRUD (Create, Read, Update, Delete) işlemlerini nasıl gerçekleştireceğimize bakacağız.

CRUD İşlemleri:

  • Create: Yeni bir kayıt oluşturma.
  • Read: Kayıtları okuma ve listeleme.
  • Update: Kayıtları güncelleme.
  • Delete: Kayıtları silme.

Blog Uygulaması Örneği:

Blog uygulamamızda CRUD işlemlerini Post modeli üzerinde gerçekleştireceğiz.

1. Kayıt Oluşturma (Create):

PostController‘da store adında bir yöntem oluşturacağız:

PHP


public function store(Request $request)

{

$post = new Post;

$post->title = $request->title;

$post->content = $request->content;

$post->save();

return redirect('/posts');

}

Kodu dikkatli kullanın.content_copy

Bu yöntem, title ve content parametrelerini alarak yeni bir Post kaydı oluşturacaktır.

2. Kayıtları Okuma ve Listeleme (Read):

PostController‘da index adında bir yöntem oluşturacağız:

PHP


public function index()

{

$posts = Post::all();

return view('posts.index', compact('posts'));

}

Kodu dikkatli kullanın.content_copy

Bu yöntem, tüm Post kayıtlarını alarak index.blade.php görünümüne gönderecektir.

3. Kayıtları Güncelleme (Update):

PostController‘da edit ve update adında iki yöntem oluşturacağız:

PHP


public function edit(Post $post)

{

return view('posts.edit', compact('post'));

}



public function update(Request $request, Post $post)

{

$post->title = $request->title;

$post->content = $request->content;

$post->save();

return redirect('/posts');

}

Kodu dikkatli kullanın.content_copy

edit yöntemi, güncellenecek kaydı edit.blade.php görünümüne gönderecektir. update yöntemi ise güncelleme işlemini gerçekleştirecektir.

4. Kayıtları Silme (Delete):

PostController‘da destroy adında bir yöntem oluşturacağız:

PHP


public function destroy(Post $post)

{

$post->delete();

return redirect('/posts');

}

Kodu dikkatli kullanın.content_copy

Bu yöntem, seçilen kaydı silme işlemini gerçekleştirecektir.

Rota Tanımlama:

routes/web.php dosyasında CRUD işlemleri için rotaları tanımlayacağız:

PHP


Route::get('/posts', 'PostController@index');

Route::get('/posts/create', 'PostController@create');

Route::post('/posts', 'PostController@store');

Route::get('/posts/{post}/edit', 'PostController@edit');

Route::put('/posts/{post}', 'PostController@update');

Route::delete('/posts/{post}', 'PostController@destroy');

Kodu dikkatli kullanın.content_copy

Görünümler:

resources/views klasöründe index.blade.php, create.blade.php, edit.blade.php adında üç görünüm oluşturacağız.

index.blade.php:

HTML


@extends('layouts.app')

@section('content')

<h1>Posts</h1>

<ul>

@foreach ($posts as $post)

<li><a href="/posts/{{ $post->id }}">{{ $post->title }}</a></li>

@endforeach

</ul>

@endsection

Kodu dikkatli kullanın.content_copy

create.blade.php:

HTML


@extends('layouts.app')

@section('content')

<h1>Create Post</h1>

<form action="/posts" method="post">

@csrf

<input type="text" name="title" placeholder="Title">

<textarea name="content" placeholder="Content"></textarea>

<button type="submit">Create</button>

</form>

@endsection

Kodu dikkatli kullanın.content_copy

edit.blade.php:

HTML


@extends('layouts.app')

@section('content')

<h1>Edit Post</h1>

<form action="/posts/{{ $post->id }}" method="post">

@method('PUT')

@csrf

<input

Sonuç:

Bu yazıda, Laravel’de CRUD işlemlerini nasıl gerçekleştireceğimize dair temel bilgileri inceledik. Blog uygulaması örneği üzerinden CRUD işlemlerini adım adım ele alarak, Laravel’in sunduğu kolaylıkları ve pratik çözümleri deneyimledik.

Ek Kaynaklar:

Bu blog yazı serisinde, Laravel’in temel özelliklerini ve kullanımını detaylı bir şekilde inceleyeceğiz. Takipte kalın!

Bir yanıt yazın