Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bermula dengan Laravel: Panduan Pemula untuk Pembina Pertanyaan

Bermula dengan Laravel: Panduan Pemula untuk Pembina Pertanyaan

Susan Sarandon
Susan Sarandonasal
2024-09-23 06:22:02663semak imbas

Getting Started with Laravel: A Beginner

Laravel's Query Builder menyediakan antara muka yang berkuasa dan lancar untuk membina pertanyaan SQL dalam PHP. Ia membolehkan anda berinteraksi dengan pangkalan data dalam sintaks seperti SQL yang ekspresif sambil mengabstraksi sebahagian besar kerumitan.

Kami akan melihat kes penggunaan biasa dalam aplikasi Laravel menggunakan Pembina Pertanyaan untuk pelbagai tugas seperti memilih, memasukkan, mengemas kini dan memadamkan data.


Langkah 1: Sediakan Projek Laravel

Jika anda tidak mempunyai projek Laravel, anda boleh menyediakannya seperti berikut:

composer create-project --prefer-dist laravel/laravel laravel-query-builder
cd laravel-query-builder
php artisan serve

Pastikan anda menyediakan konfigurasi pangkalan data anda dalam fail .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password

Jalankan migrasi untuk membuat jadual lalai:

php artisan migrate

Langkah 2: Gunakan Pembina Pertanyaan dalam Pengawal

Mari buat pengawal untuk menunjukkan penggunaan Pembina Pertanyaan:

php artisan make:controller UserController

Edit UserController.php dengan kod berikut:

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;

class UserController extends Controller
{
    // Fetching all users from the users table
    public function index()
    {
        // Step 3: Select all users
        $users = DB::table('users')->get();

        return response()->json($users);
    }

    // Insert a new user
    public function store(Request $request)
    {
        // Step 4: Insert a new user
        DB::table('users')->insert([
            'name' => $request->name,
            'email' => $request->email,
            'password' => bcrypt($request->password),
        ]);

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

    // Update an existing user
    public function update(Request $request, $id)
    {
        // Step 5: Update user by ID
        DB::table('users')
            ->where('id', $id)
            ->update([
                'name' => $request->name,
                'email' => $request->email,
            ]);

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

    // Delete a user
    public function destroy($id)
    {
        // Step 6: Delete user by ID
        DB::table('users')->where('id', $id)->delete();

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

Langkah 3: Dapatkan Data

Gunakan Pembina Pertanyaan untuk memilih semua baris daripada jadual pengguna:

$users = DB::table('users')->get();
  • Penerangan:
    • Kaedah DB::table('users') menyasarkan jadual pengguna.
    • Kaedah get() mendapatkan semula semua rekod daripada jadual itu.

Contoh Respons:

[
    {
        "id": 1,
        "name": "John Doe",
        "email": "john@example.com"
    },
    {
        "id": 2,
        "name": "Jane Doe",
        "email": "jane@example.com"
    }
]

Langkah 4: Masukkan Data

Masukkan pengguna baharu menggunakan Pembina Pertanyaan:

DB::table('users')->insert([
    'name' => 'Alice',
    'email' => 'alice@example.com',
    'password' => bcrypt('password123'),
]);
  • Penerangan:
    • Kaedah insert() memasukkan baris baharu ke dalam jadual pengguna.
    • Data dihantar sebagai tatasusunan bersekutu dengan kekunci sepadan dengan nama lajur.

Ini menambah pengguna baharu pada jadual pengguna.


Langkah 5: Kemas Kini Data

Untuk mengemas kini rekod sedia ada, gunakan kemas kini():

DB::table('users')
    ->where('id', 1)
    ->update([
        'name' => 'John Smith',
        'email' => 'johnsmith@example.com'
    ]);
  • Penerangan:
    • Klausa where() memilih baris dengan id = 1.
    • Kaedah kemas kini() mengubah suai nama dan medan e-mel untuk baris yang dipilih.

Ini mengemas kini pengguna dengan ID 1 dalam jadual pengguna.


Langkah 6: Padamkan Data

Untuk memadam rekod daripada pangkalan data, gunakan delete():

DB::table('users')->where('id', 2)->delete();
  • Penerangan:
    • Klausa where() menentukan syarat untuk memilih pengguna dengan ID 2.
    • Kaedah delete() mengalih keluar baris yang sepadan daripada jadual.

Ini memadamkan pengguna dengan ID 2.


Langkah 7: Menapis dengan Pembina Pertanyaan

Anda boleh merangkai kaedah tambahan untuk menapis data atau menambah syarat pada pertanyaan.

Contoh: Dapatkan semula pengguna dengan syarat tertentu

$users = DB::table('users')
    ->where('email', 'like', '%example.com%')
    ->orderBy('name', 'asc')
    ->get();
  • Penerangan:
    • Klausa where() menambah syarat, mengambil pengguna yang e-melnya mengandungi example.com.
    • Kaedah orderBy() mengisih pengguna mengikut nama dalam tertib menaik.

Langkah 8: Penomboran

Pembina Pertanyaan Laravel memudahkan untuk membuat penomboran hasil.

$users = DB::table('users')->paginate(10);
  • Penerangan:
    • Kaedah paginate() memecahkan hasil menjadi halaman, memaparkan 10 hasil setiap halaman.

Langkah 9: Transaksi

Gunakan transaksi pangkalan data untuk memastikan berbilang pertanyaan berjaya dilaksanakan. Jika satu pertanyaan gagal, semua perubahan akan ditarik balik.

DB::transaction(function () {
    DB::table('users')->insert([
        'name' => 'John Doe',
        'email' => 'john@example.com',
        'password' => bcrypt('password123')
    ]);

    DB::table('orders')->insert([
        'user_id' => 1,
        'order_total' => 500
    ]);
});
  • Penerangan:
    • Kaedah transaction() memastikan bahawa kedua-dua pengguna dan sisipan jadual pesanan dilaksanakan dengan jayanya. Jika salah satu gagal, kedua-dua operasi akan ditarik balik.

Langkah 10: Pertanyaan Mentah

Jika anda perlu menjalankan SQL mentah, Pembina Pertanyaan Laravel membenarkannya:

$users = DB::select('SELECT * FROM users WHERE id = ?', [1]);
  • Penerangan:
    • Kaedah pilih() boleh digunakan untuk melaksanakan pertanyaan SQL mentah.
    • Ia menggunakan pernyataan yang disediakan (?) untuk keselamatan, menghalang suntikan SQL.

Kesimpulan

Pembina Pertanyaan Laravel menawarkan cara yang berkuasa dan fleksibel untuk berinteraksi dengan pangkalan data anda, menghilangkan banyak kerumitan SQL. Dengan memecahkan setiap bahagian—mendapatkan semula, memasukkan, mengemas kini, memadam, menapis dan banyak lagi—anda boleh mengurus interaksi pangkalan data anda dengan mudah dengan cara yang bersih dan teratur.

Contoh ini menyediakan panduan asas kepada Pembina Pertanyaan. Apabila aplikasi anda berkembang, anda boleh menggunakan ciri yang lebih canggih seperti gabungan, subkueri dan pemuatan yang bersemangat dengan Eloquent.

Atas ialah kandungan terperinci Bermula dengan Laravel: Panduan Pemula untuk Pembina Pertanyaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn