首頁 > php框架 > Laravel > 主體

laravel表格增刪改查

WBOY
發布: 2023-05-29 13:48:38
原創
613 人瀏覽過

Laravel 是一個流行的 PHP 框架,它提供了方便的工具和功能來幫助開發人員快速建立 Web 應用程式。其中一個基本功能是使用表格增刪改查數據,本文將介紹如何在 Laravel 實現這些功能。

  1. 建立資料庫和表格

首先,我們需要建立一個資料庫和一個資料表來儲存資料。在本文中,我們將建立一個名為「users」的表格,它包含以下欄位: id、name、email 和 password。

我們可以使用 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');
    }
}
登入後複製

以上程式碼建立了一個名為「users」的表格,其中包含 id、name、email、password 和 timestamps 欄位。

當我們執行遷移時,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」方法來建立新記錄。我們將請求中的「name」、「email」和「password」欄位用作參數,並使用「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 的使用者記錄。然後,我們將請求中的「name」和「email」欄位用作屬性值來更新記錄。如果請求包含「password」字段,則使用「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、名稱和電子郵件。此外,我們新增了兩個操作列:編輯和刪除。對於刪除,我們使用一個表單來提交 DELETE 請求,並使用「csrf_field」指令新增 CSRF 令牌。對於編輯,我們在路由中定義單獨的視圖和控制器。

  1. 結論

在本文中,我們介紹如何使用 Laravel 中的模型和控制器來執行基本的表格增刪改查操作。雖然在實際專案中可能涉及更多的功能和細節,但本文提供了一個起點來幫助您開始使用 Laravel 來處理 Web 應用程式的表格操作。

以上是laravel表格增刪改查的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板