Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk menggunakan ORM untuk operasi pangkalan data dalam ThinkPHP6?

Bagaimana untuk menggunakan ORM untuk operasi pangkalan data dalam ThinkPHP6?

WBOY
WBOYasal
2023-06-12 12:16:50961semak imbas

Dengan pembangunan PHP, semakin banyak aplikasi web perlu mengakses dan mengendalikan pangkalan data. ORM (Object-Relational Mapping) ialah kaedah operasi pangkalan data popular yang menguruskan pangkalan data dalam cara berorientasikan objek dan menyediakan penyelesaian yang boleh diselenggara, berskala dan mudah alih. ThinkPHP6 ialah salah satu rangka kerja PHP yang popular Ia menyediakan banyak cara untuk menggunakan ORM dan sangat mudah dan mudah difahami. Artikel ini akan memperkenalkan cara menggunakan ORM untuk operasi pangkalan data dalam ThinkPHP6.

Langkah1 Sambung ke pangkalan data
Sebelum menggunakan ORM untuk mengendalikan pangkalan data, anda perlu mengkonfigurasi maklumat sambungan pangkalan data. Dalam ThinkPHP6, ia boleh dikonfigurasikan dalam config/database.php. Maklumat konfigurasi khusus termasuk jenis pangkalan data, alamat pangkalan data, port, nama pangkalan data, nama pengguna dan kata laluan, dsb. Sebagai contoh, berikut ialah konfigurasi pangkalan data MySQL:

<?php
return [
    // 数据库类型
    'type'             => 'mysql',
    // 数据库连接DSN配置
    'dsn'              => '',
    // 服务器地址
    'hostname'         => 'localhost',
    // 数据库名
    'database'         => 'test',
    // 数据库用户名
    'username'         => 'root',
    // 数据库密码
    'password'         => '',
    // 数据库连接端口
    'hostport'         => '',
    // 数据库连接参数
    'params'           => [],
    // 数据库编码默认采用utf8
    'charset'          => 'utf8',
    // 数据库表前缀
    'prefix'           => '',
    // 数据库调试模式
    'debug'            => true,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'           => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'      => false,
    // 读写分离后 主服务器数量
    'master_num'       => 1,
    // 指定从服务器序号
    'slave_no'         => '',
    // 是否严格检查字段是否存在
    'fields_strict'    => true,
    // 开启自动写入时间戳字段
    'auto_timestamp'   => false,
    // 时间字段取出后的默认时间格式
    'datetime_format'  => 'Y-m-d H:i:s',
    // 是否需要进行SQL性能分析
    'sql_explain'      => false,
];

Langkah2 Tentukan model
Apabila menggunakan ORM untuk mengendalikan pangkalan data, anda perlu menentukan model yang sepadan untuk mengurus jadual pangkalan data. Dalam ThinkPHP6, anda boleh menggunakan alat baris arahan untuk menjana fail model secara automatik, atau anda boleh membuat fail model secara manual. Berikut ialah contoh fail model yang dibuat secara manual:

<?php
namespace appmodel;

use thinkModel;

class User extends Model
{
    protected $table = 'user';

    protected $pk = 'id';

    protected $autoWriteTimestamp = true;

    protected $createTime = 'create_time';
    protected $updateTime = 'update_time';

    protected $dateFormat = 'Y-m-d H:i:s';

    protected $type = [
        'id'            => 'integer',
        'create_time'   => 'datetime',
        'update_time'   => 'datetime',
        'status'        => 'boolean',
    ];
}

Dalam kod di atas, kami mentakrifkan model bernama Pengguna, nama jadual pangkalan data yang sepadan ialah 'pengguna' dan medan kunci utama ialah 'id' . Pada masa yang sama, kami mentakrifkan sifat seperti cap waktu automatik dan format masa. Dalam model, kita boleh menentukan beberapa atribut dan kaedah lain, seperti kaedah untuk menentukan hubungan model, dsb. Penggunaan sifat dan kaedah ini akan diperincikan dalam langkah berikut.

Langkah3. Data pertanyaan
Apabila menggunakan ORM untuk membuat pertanyaan data, anda boleh menggunakan banyak kaedah untuk memenuhi keperluan yang berbeza. Berikut ialah beberapa kaedah pertanyaan ORM yang biasa digunakan:

  1. kaedah jadual

    $result =     hinkacadeDb::table('user')->where('id', $id)->find();

    Menggunakan kaedah jadual, anda boleh terus mengendalikan jadual pangkalan data dan memanggil di mana, memesan dan had dalam rantaian dan kaedah lain.

  2. cari dan pilih kaedah

    $user = User::find($id);
    $users = User::where('status', 1)->select();

    Kaedah cari boleh mencari rekod dengan nilai kunci utama yang ditentukan dan kaedah pilih boleh menanyakan berbilang rekod yang memenuhi syarat.

  3. kaedah nilai

    $username = User::where('id', $id)->value('username');

    Gunakan kaedah nilai untuk menanyakan nilai medan yang ditentukan.

  4. kaedah kiraan

    $count = User::count();

    Gunakan kaedah kiraan untuk menanyakan bilangan rekod yang memenuhi syarat.

  5. atau pertanyaan

    $user = User::where('username', $username)->whereOr('email', $email)->find();

    atau pernyataan boleh dilaksanakan menggunakan kaedah whereOr.

  6. Pertanyaan paging

    $users = User::where('status', 1)->paginate(10);

    Menggunakan kaedah penomboran, anda boleh melaksanakan pertanyaan paging dan menyesuaikan bilangan rekod yang dipaparkan pada setiap halaman.

Langkah4 Kemas kini data
Apabila menggunakan ORM untuk mengemas kini rekod pangkalan data, anda boleh menggunakan kaedah kemas kini. Sebagai contoh, berikut ialah contoh mengemas kini rekod:

$user = User::find($id);
$user->username = 'new_username';
$user->save();

Kita boleh mencari rekod dengan nilai kunci utama yang ditentukan melalui kaedah cari. Kami kemudiannya boleh mengubah suai sifat objek. Akhir sekali, kami memanggil kaedah simpan untuk menyimpan rekod yang diubah suai ke pangkalan data.

Langkah5 Padam data
Apabila menggunakan ORM untuk memadam rekod pangkalan data, anda boleh menggunakan kaedah padam. Contohnya, berikut ialah contoh pemadaman rekod:

$user = User::find($id);
$user->delete();

Kita boleh mencari rekod dengan nilai kunci utama yang ditentukan melalui kaedah cari. Kemudian, kami memanggil kaedah padam untuk memadam rekod daripada pangkalan data.

Ringkasan
Artikel ini memperkenalkan langkah asas menggunakan ORM untuk operasi pangkalan data dalam ThinkPHP6. Pertama, kita perlu mengkonfigurasi maklumat sambungan pangkalan data. Kemudian, kita perlu menentukan model untuk menguruskan jadual pangkalan data. Apabila menggunakan ORM untuk pertanyaan data, kita boleh menggunakan banyak kaedah untuk memenuhi keperluan yang berbeza. Apabila mengemas kini dan memadam data, kami boleh menggunakan kaedah yang sepadan untuk mencapai ini. Menggunakan ORM boleh membebaskan kita daripada operasi SQL yang membosankan dan meningkatkan kecekapan pembangunan. Harap artikel ini dapat membantu anda!

Atas ialah kandungan terperinci Bagaimana untuk menggunakan ORM untuk operasi pangkalan data dalam ThinkPHP6?. 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