- Eloquentモデルを作成する: まず、LaravelのEloquentモデルを作成します。このモデルは、データベーステーブルとの対応関係を定義します。例えば、"Post"という名前のモデルを作成する場合、次のようになります:
php artisan make:model Post
- ルーティングの設定: ルーティングファイル (routes/web.php) で、投稿の作成に対するPOSTリクエストを処理するルートを定義します。例えば、以下のようになります:
Route::post('/posts', 'PostController@store')->name('posts.store');
- コントローラの作成: コントローラクラスを作成し、投稿の作成ロジックを記述します。例えば、"PostController"という名前のコントローラを作成する場合、次のようになります:
php artisan make:controller PostController
PostControllerのstoreメソッド内で、投稿の作成とインクリメントを行います。例えば、次のようになります:
use App\Models\Post;
public function store(Request $request)
{
// 投稿の作成
$post = new Post;
$post->title = $request->input('title');
$post->content = $request->input('content');
$post->save();
// インクリメント
$post->increment('views');
// 他の処理...
return redirect()->route('posts.index');
}
上記の例では、views
カラムをインクリメントしています。
- フォームの作成: 投稿を作成するためのフォームを作成します。Laravel Collectiveを使用すると、簡単にフォームを作成できます。例えば、次のようになります:
上記の例では、title
と content
のフィールドを持つフォームを作成しています。
これで、Laravel Collectiveを使用して投稿後にインクリメントを行う方法がわかりました。必要に応じて、他の処理やバリデーションなどを追加することもできます。