ホームページ >PHPフレームワーク >Laravel >laravelテーブルの追加、削除、変更

laravelテーブルの追加、削除、変更

WBOY
WBOYオリジナル
2023-05-29 13:48:38637ブラウズ

Laravel は、開発者が Web アプリケーションを迅速に構築できるようにする便利なツールと機能を提供する人気の PHP フレームワークです。基本的な機能の1つはテーブルを使用してデータを追加、削除、変更、クエリすることですが、この記事ではこれらの機能をLaravelで実装する方法を紹介します。

  1. データベースとテーブルの作成

まず、データを保存するためのデータベースとデータ テーブルを作成する必要があります。この記事では、ID、名前、電子メール、パスワードのフィールドを含む「users」というテーブルを作成します。

Laravel で移行を使用してテーブルを作成できます。コマンドラインで次のコマンドを実行します:

php artisan make:migration create_users_table --create=users

このコマンドを実行すると、Laravel は「database/migrations」ディレクトリに新しい移行ファイルを作成します。移行ファイルの「Schema」クラスを使用してテーブル構造を定義できます。コードは次のとおりです。

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

上記のコードは、ID、名前、電子メール、パスワード、およびタイムスタンプのフィールドを含む「users」という名前のテーブルを作成します。

移行を実行すると、Laravel はデータベースにテーブルを作成します。次のコマンドを実行して移行します。

php artisan migrate
  1. レコードの追加

レコードをテーブルに追加するには、コントローラーを作成し、モデルを使用してデータを保存する必要があります。データベース。コマンド ラインで次のコマンドを実行します。

php artisan make:controller UserController

このコマンドは、"app/Http/Controllers" ディレクトリに新しい "UserController" コントローラーを作成します。

コントローラー ファイルでは、「create」メソッドを使用して新しいレコードを保存できます。サンプル コードは次のとおりです。

use AppUser;
use IlluminateHttpRequest;

class UserController extends Controller
{
    public function store(Request $request)
    {
        $user = User::create([
            'name' => $request->input('name'),
            'email' => $request->input('email'),
            'password' => bcrypt($request->input('password')),
        ]);

        return response()->json([
            'message' => 'User created successfully',
            'user' => $user,
        ]);
    }
}

上記のコードでは、最初に「User」モデルをインポートし、次に「store」メソッドの「create」メソッドを使用して新しいレコードを作成します。リクエストの「名前」、「電子メール」、「パスワード」フィールドをパラメータとして使用し、「bcrypt」関数を使用してパスワードを暗号化します。最後に、作成されたユーザー レコードを含む JSON 応答を返します。

  1. レコードのリスト

コントローラーを使用してテーブル内のすべてのレコードを取得し、ユーザーに返すことができます。コントローラーに次のコードを追加します。

public function index()
{
    $users = User::all();

    return view('users.index', ['users' => $users]);
}

上記のコードは、「all」メソッドを使用してユーザー テーブル内のすべてのレコードを取得し、結果をビューに渡します。このデータをビューで使用して、HTML テーブルをレンダリングできます。

  1. レコードの更新

レコードを作成する場合と同様に、モデルとコントローラーを使用してレコードを更新できます。 「update」メソッドの例を次に示します。

public function update(Request $request, $id)
{
    $user = User::find($id);

    $user->name = $request->input('name');
    $user->email = $request->input('email');

    if ($request->input('password')) {
        $user->password = bcrypt($request->input('password'));
    }

    $user->save();

    return response()->json([
        'message' => 'User updated successfully',
        'user' => $user,
    ]);
}

上記のコードでは、まず「find」メソッドを使用して、指定された ID を持つユーザー レコードを取得します。次に、リクエストの「名前」フィールドと「電子メール」フィールドを属性値として使用して、レコードを更新します。リクエストに「パスワード」フィールドが含まれている場合、「bcrypt」関数を使用して暗号化され、ユーザー レコードが更新されます。最後に、「save」メソッドを使用してレコードを保存し、更新されたユーザー レコードを JSON 応答として返します。

  1. レコードの削除

コントローラーとモデルを使用してユーザー レコードを削除できます。 「destroy」メソッドの例を次に示します。

public function destroy($id)
{
    $user = User::find($id);

    $user->delete();

    return response()->json([
        'message' => 'User deleted successfully',
    ]);
}

上記のコードでは、まず「find」メソッドを使用して、指定された ID を持つユーザー レコードを取得します。その後、「delete」メソッドを使用してレコードを削除する前に、レコードに対して他の操作を実行できます。最後に、削除されたユーザーに関する情報を含む JSON 応答を返します。

  1. テーブル ビュー

すべてのユーザー レコードをリストする場合、ビューを使用して HTML テーブルをレンダリングできます。サンプル ビュー コードは次のとおりです。

<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Email</th>
            <th>Action</th>
        </tr>
    </thead>
    <tbody>
        @foreach ($users as $user)
            <tr>
                <td>{{ $user->id }}</td>
                <td>{{ $user->name }}</td>
                <td>{{ $user->email }}</td>
                <td>
                    <a href="{{ route('users.edit', $user->id) }}">Edit</a>
                    <form action="{{ route('users.destroy', $user->id) }}" method="POST">
                        {{ csrf_field() }}
                        {{ method_field('DELETE') }}
                        <button type="submit">Delete</button>
                    </form>
                </td>
            </tr>
        @endforeach
    </tbody>
</table>

上記のコードでは、「@foreach」ディレクティブを使用してすべてのユーザー レコードをループし、HTML テーブルにユーザーの ID、名前、電子メールを表示しています。さらに、「編集」と「削除」という 2 つのアクション列を追加しました。削除の場合は、フォームを使用して DELETE リクエストを送信し、「csrf_field」ディレクティブを使用して CSRF トークンを追加します。編集のために、ルート内に個別のビューとコントローラーを定義します。

  1. 結論

この記事では、Laravel でモデルとコントローラーを使用して、基本的なテーブルの追加、削除、変更、クエリ操作を実行する方法を紹介しました。実際のプロジェクトにはさらに多くの機能や詳細が含まれる可能性がありますが、この記事は、Laravel を使用して Web アプリケーションのテーブル操作を処理し始めるのに役立つ出発点を提供します。

以上がlaravelテーブルの追加、削除、変更の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。