ホームページ >PHPフレームワーク >Laravel >Laravelを使ったオンライン投票システムの開発方法
Laravel を使用してオンライン投票システムを開発する方法
はじめに:
インターネットの発展に伴い、ますます多くのことがオンラインで完了できるようになりました。投票する。オンライン投票システムは、多数のユーザーからの意見やフィードバックを便利かつ効率的に収集できます。この記事では、Laravel フレームワークを使用して基本的なオンライン投票システムを開発する方法を紹介し、具体的なコード例を示します。
1. 環境セットアップと Laravel のインストール:
composer global require laravel/installer
laravel new votesystem
cd votesystem
php Artisanserve
http://localhost:8000
にアクセスします。Laravel のウェルカム ページが表示された場合は、 、環境が正常にセットアップされたことを意味します。 2. データベースの準備:
プロジェクトのルート ディレクトリで、.env
ファイルを開き、データベース接続情報を設定します。次の行を変更します:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=voting_system DB_USERNAME=root DB_PASSWORD=
voting_system
という名前のデータベースを作成します。 3. 投票関連のモデル、移行、コントローラーを作成します:
Poll
モデルを作成し、対応するデータ移行ファイル: php professional make:model Poll -m
生成された移行ファイルで、polls
テーブルのフィールドを定義します。 :
public function up() { Schema::create('polls', function (Blueprint $table) { $table->id(); $table->string('title'); $table->timestamps(); }); }
php 職人移行
PollController
コントローラーを作成し、## を追加します#create および
store メソッド:
php artisan make:controller PollController --resource
PollController に、
create および
store を追加します。 投票の作成と保存を容易にするメソッドの実装:
<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppPoll; class PollController extends Controller { public function create() { return view('polls.create'); } public function store(Request $request) { $this->validate($request, [ 'title' => 'required' ]); $poll = Poll::create([ 'title' => $request->title ]); // 添加投票选项 foreach($request->options as $option) { $poll->options()->create([ 'name' => $option ]); } return redirect()->route('poll.show', $poll->id); } }
php 職人 make:model オプション-m
生成された options テーブルのフィールドを定義します:
public function up() { Schema::create('options', function (Blueprint $table) { $table->id(); $table->unsignedBigInteger('poll_id'); $table->string('name'); $table->timestamps(); }); }
データベース移行の実行:
Option モデルの関連付けを追加します:
public function options() { return $this->hasMany(Option::class); }
IV. ビューとルートの作成: を作成し、その中に create.blade.php
ビュー ファイルを作成します: <pre class='brush:php;toolbar:false;'><form action="{{ route('poll.store') }}" method="POST">
@csrf
<label for="title">标题:</label>
<input type="text" name="title">
<label for="options">选项:</label>
<ul id="options">
<li>
<input type="text" name="options[]">
</li>
</ul>
<button id="add-option" type="button">添加选项</button>
<button type="submit">提交</button>
</form>
<script>
document.getElementById('add-option').addEventListener('click', function() {
var option = document.createElement('li');
option.innerHTML = '<input type="text" name="options[]">';
document.getElementById('options').appendChild(option);
});
</script></pre>
at
Route::resource('poll', 'PollController');
コマンド ラインで次のコマンドを実行してルート キャッシュを更新します:
にアクセスします。
入力が完了したら、[送信] ボタンをクリックすると、システムが投票をデータベースに保存し、投票の詳細ページに移動します。
以上がLaravelを使ったオンライン投票システムの開発方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。