LaravelでのCRUD操作の実装方法


  1. モデルの作成: まず、データベーステーブルに対応するモデルを作成します。例えば、ブログ投稿を管理するための「Post」というモデルを作成します。以下のコマンドを使用して、モデルを作成します。
php artisan make:model Post
  1. マイグレーションの作成: 次に、データベーステーブルを作成するためのマイグレーションファイルを作成します。以下のコマンドを使用して、マイグレーションファイルを作成します。
php artisan make:migration create_posts_table --create=posts
  1. ルーティングの設定: CRUD操作に対するルートを設定します。routes/web.phpファイルを開き、以下のようなルートを追加します。
Route::resource('posts', 'PostController');
  1. コントローラーの作成: CRUD操作を処理するためのコントローラーを作成します。以下のコマンドを使用して、コントローラーを作成します。
php artisan make:controller PostController --resource
  1. コントローラーの実装: app/Http/Controllers/PostController.phpファイルを開き、以下のようなコードを追加します。
<?php
namespace App\Http\Controllers;
use App\Models\Post;
use Illuminate\Http\Request;
class PostController extends Controller
{
    public function index()
    {
        $posts = Post::all();
        return view('posts.index', compact('posts'));
    }
    public function create()
    {
        return view('posts.create');
    }
    public function store(Request $request)
    {
        // 入力値のバリデーションなどを行い、新しい投稿を作成します。
    }
    public function show($id)
    {
        $post = Post::find($id);
        return view('posts.show', compact('post'));
    }
    public function edit($id)
    {
        $post = Post::find($id);
        return view('posts.edit', compact('post'));
    }
    public function update(Request $request, $id)
    {
        // 入力値のバリデーションなどを行い、投稿を更新します。
    }
    public function destroy($id)
    {
        $post = Post::find($id);
        $post->delete();
        return redirect()->route('posts.index');
    }
}
  1. ビューの作成: CRUD操作のためのビューファイルを作成します。以下のようなビューファイルを作成します。
  • resources/views/posts/index.blade.php: 一覧表示のためのビュー
  • resources/views/posts/create.blade.php: 新規作成のためのビュー
  • resources/views/posts/show.blade.php: 詳細表示のためのビュー
  • resources/views/posts/edit.blade.php: 編集のためのビュー

これらのビューファイルには、適切なHTMLとBladeテンプレートを使用して、データの表示やフォームの作成などを行います。