Cara menggunakan rangka kerja Hyperf untuk operasi ORM
Pengenalan:
#🎜🎜 prestasi berprestasi tinggi rangka kerja , dengan reka bentuk komponen yang fleksibel dan fungsi suntikan pergantungan yang berkuasa. Ia menyediakan pembangun dengan banyak alat dan komponen yang mudah, salah satunya ialah operasi ORM (Pemetaan Perhubungan Objek). Artikel ini akan memperkenalkan cara menggunakan rangka kerja Hyperf untuk operasi ORM dan memberikan contoh kod khusus. 1. Pemasangan dan konfigurasi Sebelum memulakan, anda perlu memastikan rangka kerja Hyperf telah dipasang Untuk langkah pemasangan tertentu, sila rujuk dokumentasi rasmi Hyperf. 1.1 Pasang tanggunganJalankan arahan berikut dalam baris arahan untuk memasang tanggungan untuk operasi pangkalan data:rreee
1.2 Konfigurasi sambungan pangkalan data#🎜 #Dalam rangka kerja Hyperf, konfigurasi sambungan pangkalan data terletak dalam fail databases.php dalam direktori config/autoload. Dalam fail ini, anda boleh mengkonfigurasi semua maklumat sambungan pangkalan data, termasuk pangkalan data tuan-hamba, kolam sambungan, dsb.
Berikut ialah contoh konfigurasi pangkalan data yang mudah:
composer require hyperf/model composer require hyperf/database
2 Tentukan model
Sebelum menggunakan rangka kerja Hyperf untuk operasi ORM, anda terlebih dahulu. perlu menentukan Model. Model ini bersamaan dengan kelas PHP yang sepadan dengan jadual pangkalan data Pangkalan data boleh dikendalikan dengan mudah melalui model. Dalam rangka kerja Hyperf, model perlu mewarisi kelas Hyperf/Model/Model dan menentukan sifat yang sepadan dengan jadual pangkalan data.
Berikut ialah contoh definisi model ringkas:
return [ 'default' => [ 'driver' => env('DB_DRIVER', 'mysql'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', 3306), 'database' => env('DB_DATABASE', 'test'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', 'password'), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'pool' => [ 'min_connections' => 1, 'max_connections' => 10, 'connect_timeout' => 10.0, 'wait_timeout' => 3.0, 'heartbeat' => -1, 'max_idle_time' => (float) env('DB_MAX_IDLE_TIME', 60), ], 'options' => [ // ... ], ], ];
Dalam kod di atas, model bernama Pengguna ditakrifkan, yang sepadan dengan jadual pangkalan data bernama pengguna . Atribut yang sepadan dengan jadual ditakrifkan dalam model, dan atribut yang boleh diberikan nilai dalam kelompok ditentukan.
3. Data pertanyaan
Apabila menggunakan rangka kerja Hyperf untuk operasi ORM, anda boleh menggunakan pembina pertanyaan model untuk membina pernyataan pertanyaan.
Berikut ialah beberapa contoh operasi pertanyaan biasa:
3.1 Tanya semua data
<?php declare (strict_types=1); namespace AppModel; use HyperfDbConnectionModelModel; /** * @property int $id * @property string $name * @property int $age * @property string $gender */ class User extends Model { /** * The table associated with the model. * * @var string */ protected $table = 'users'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = ['name', 'age', 'gender']; /** * The attributes excluded from the model's JSON form. * * @var array */ protected $hidden = []; /** * The attributes that should be cast to native types. * * @var array */ protected $casts = []; }
3.2 Pertanyaan bersyarat#🎜🎜🎜🎜 3.3 Tambah syarat pertanyaan
use AppModelUser; $users = User::all(); foreach ($users as $user) { echo $user->name; }
3.4 Pertanyaan fungsi pengagregatan
use AppModelUser; $user = User::where('age', '>', 18)->first(); echo $user->name;
4 Sisipkan, kemas kini dan padam data
Dalam rangka kerja Canf anda. model create(), kemas kini() dan delete() kaedah untuk memasukkan, mengemas kini dan memadam data.
4.1 Masukkan data
use AppModelUser; $user = User::where('age', '>', 18) ->orWhere('gender', 'female') ->orderBy('age', 'desc') ->first(); echo $user->name;
4.2 Kemas kini data
use AppModelUser; $count = User::where('age', '>', 18)->count(); echo $count;
4.3 Padam data
rreee🎜🎜 #Artikel ini memperkenalkan cara menggunakan rangka kerja Hyperf untuk operasi ORM dan menyediakan contoh kod khusus. Melalui pembina pertanyaan model, kami boleh melakukan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan dalam pangkalan data dengan mudah. Pada masa yang sama, rangka kerja Hyperf juga menyediakan banyak fungsi berkuasa lain, seperti suntikan pergantungan, dipacu peristiwa, dll., yang boleh meningkatkan lagi kecekapan pembangunan.
Saya harap artikel ini akan membantu anda Jika anda mempunyai sebarang pertanyaan atau cadangan, sila tinggalkan mesej untuk perbincangan. Saya doakan anda berjaya menggunakan rangka kerja Hyperf untuk operasi ORM!
Atas ialah kandungan terperinci Cara menggunakan rangka kerja Hyperf untuk operasi ORM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!