Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk mengendalikan pangkalan data dalam laravel

Bagaimana untuk mengendalikan pangkalan data dalam laravel

PHPz
PHPzasal
2023-04-21 10:05:461069semak imbas

Laravel ialah rangka kerja PHP yang sangat baik yang menyediakan banyak kemudahan kepada pembangun, seperti memudahkan pengekodan, meningkatkan kecekapan pembangunan dan penyelenggaraan yang mudah. Pada masa yang sama, Laravel juga menyokong pelbagai kaedah operasi pangkalan data, menjadikannya lebih mudah bagi pembangun untuk melaksanakan operasi pangkalan data. Dalam artikel ini, kami akan memperkenalkan cara melaksanakan operasi pangkalan data dalam rangka kerja Laravel.

Langkah 1: Tetapkan maklumat pangkalan data

Pertama, kita perlu mengkonfigurasi maklumat pangkalan data dalam projek Laravel. Ia boleh dikonfigurasikan dalam fail config/database.php, yang merangkumi maklumat seperti jenis pangkalan data, alamat hos, port, nama pangkalan data, nama pengguna dan kata laluan.

Dalam Laravel, berbilang pangkalan data boleh disokong. Oleh itu, konfigurasi perlu dilakukan dalam config/database.php, contohnya:

'connections' => [

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

    'mysql2' => [
        'driver' => 'mysql',
        'host' => env('DB2_HOST', '127.0.0.1'),
        'port' => env('DB2_PORT', '3306'),
        'database' => env('DB2_DATABASE', 'forge'),
        'username' => env('DB2_USERNAME', 'forge'),
        'password' => env('DB2_PASSWORD', ''),
        'unix_socket' => env('DB2_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

Seperti yang anda lihat, dua sambungan pangkalan data ditakrifkan di sini: mysql dan mysql2, yang sepadan dengan pangkalan data yang berbeza.

Konfigurasi yang berkaitan bagi setiap pangkalan data boleh dinyatakan dalam fail .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=database_username
DB_PASSWORD=database_password

DB_CONNECTION=mysql2
DB_HOST=127.0.0.1
DB_PORT=3306
DB2_DATABASE=database2_name
DB2_USERNAME=database2_username
DB2_PASSWORD=database2_password

Maklumat konfigurasi ini akan digunakan dalam aplikasi Laravel.

Langkah 2: Bina model

Dalam rangka kerja Laravel, model boleh digunakan untuk berinteraksi dengan pangkalan data. Model ialah kelas yang digunakan untuk memproses data dalam pangkalan data. Menggunakan model boleh memetakan jadual pangkalan data ke kelas PHP, membolehkan kami mengendalikan pangkalan data dengan lebih mudah.

Gunakan alatan baris arahan Artisan untuk menjana model dengan cepat, contohnya:

php artisan make:model User

Ini akan menjana kelas model bernama Pengguna dalam direktori aplikasi/Model, di mana anda boleh menentukan jadual, Utama kunci, cap masa dan maklumat lain.

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    protected $table = 'user';
    protected $primaryKey = 'id';
    public $timestamps = true;
}

Langkah 3: Data pertanyaan

Dalam Laravel, pertanyaan pangkalan data boleh dilakukan dengan mudah melalui Eloquent ORM. Model memudahkan untuk menanyakan jadual. Sebagai contoh, anda boleh menggunakan kaedah Eloquent berikut untuk mendapatkan semua rekod dalam jadual "Pengguna":

use App\Models\User;

$users = User::all();

Apabila menggunakan kaedah findOrFail untuk mencari rekod, anda boleh menggunakan kaedah ini dengan ID model:

$user = User::findOrFail(1);

Apabila menanyakan rekod tertentu, anda boleh menggunakan kaedah where:

use App\Models\User;

$users = User::where('name', 'John')->get();

Anda juga boleh menggunakan syarat lain untuk membuat pertanyaan, seperti:

$user = User::where('name', 'John')->first();
$users = User::select('name')->distinct()->get();
$users = User::orderBy('name', 'desc')->take(10)->get();

Langkah 4: Memasukkan data

Memasukkan data dalam rangka kerja Laravel adalah sangat mudah. Apabila menggunakan model untuk mencipta rekod baharu, anda boleh menggunakan kod berikut:

$user = new User;
$user->name = 'John';
$user->email = 'john@example.com';
$user->save();

Anda juga boleh menggunakan kaedah cipta dalam kelas untuk mencipta berbilang rekod baharu sekaligus:

User::create([
    'name' => 'Jane',
    'email' => 'jane@example.com',
]);

Langkah 5: Mengemas kini data

Mengemas kini data melalui model juga sangat mudah. Anda boleh mengemas kini rekod melalui kod berikut:

$user = User::find(1);

$user->email = 'john.doe@example.com';

$user->save();

Anda juga boleh mengemas kini rekod dalam kelompok:

User::where('name', 'John')->update(['email' => 'john.doe@example.com']);

Langkah 6: Padam data

Padam data dan kemas kini data Kaedahnya serupa. Jika anda ingin memadamkan satu rekod, sila gunakan arahan berikut:

$user = User::find(1);

$user->delete();

Apabila anda perlu memadamkan berbilang rekod, anda boleh menggunakan arahan berikut:

User::where('name', 'John')->delete();

Perhatikan bahawa kaedah padam akan memadam rekod Dipadam secara kekal daripada pangkalan data. Daripada memadamkannya secara kekal, anda boleh menggunakan ciri padam lembut untuk mengalihkannya ke jadual lain.

Ringkasan

Laravel ORM menyediakan pengaturcara dengan alat yang berkuasa untuk mengendalikan pangkalan data. Melalui langkah di atas, anda boleh melakukan pertanyaan pangkalan data, sisipan, kemas kini dan pemadaman dengan mudah. Perlu diingat bahawa data sensitif harus dikendalikan dengan berhati-hati dan berkelakuan baik. Saya harap artikel ini akan membantu anda apabila mengendalikan pangkalan data dalam Laravel.

Atas ialah kandungan terperinci Bagaimana untuk mengendalikan pangkalan data dalam laravel. 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