Set Data (pembina pertanyaan 19)
Hasil pertanyaan pangkalan data juga ialah set data Secara lalai, jenis set data ialah tatasusunan dua dimensi, tetapi ia boleh menyokong pemulangan objek set data Gunakan kaedah fetchCollection:
// 获取数据集 $users = Db::name('user')->fetchCollection()->select(); // 遍历数据集 foreach($users as $user){ echo $user['name']; echo $user['id']; }
Data yang dikembalikan set objek ialah thinkCollection Ia menyediakan penggunaan yang sama seperti tatasusunan, dan juga merangkum beberapa kaedah tambahan.
Lakukan pertanyaan set data dalam model, semua objek set data akan dikembalikan, tetapi kelas thinkmodelCollection (diwarisi daripada thinkCollection) digunakan, tetapi penggunaannya adalah konsisten.
Objek set data boleh dimanipulasi terus menggunakan tatasusunan, contohnya:
// 获取数据集 $users = Db::name('user')->fetchCollection()->select(); // 直接操作第一个元素 $item = $users[0]; // 获取数据集记录数 $count = count($users); // 遍历数据集 foreach($users as $user){ echo $user['name']; echo $user['id']; }
Kaedah fetchCollection juga menyokong pemindahan nama kelas koleksi tersuai (mesti mewarisi thinkCollection).
Perlu diingat bahawa jika anda ingin menilai sama ada set data kosong, anda tidak boleh terus menggunakan kosong untuk menilai, tetapi mesti menggunakan kaedah isEmpty objek set data untuk menilai, contohnya:
$users = Db::name('user')->fetchCollection()->select(); if($users->isEmpty()){ echo '数据集为空'; }
Kelas Koleksi mengandungi kaedah utama berikut:
Kaedah | Penerangan |
---|---|
isKosong | Adakah kosong |
kepada array | |
semua | semua data |
gabungkan | Gabungkan data lain |
perbezaan | Banding tatasusunan, pulangkan perbezaan |
flip | Tukar kunci dan nilai dalam data |
persimpangan | persimpangan |
Kekunci | Masukkan elemen pada permulaan data |
tolak | di penghujung Masukkan elemen |
reduce | Dengan menggunakan fungsi yang ditentukan pengguna, kembalikan tatasusunan sebagai rentetan |
reverse | |
chunk | |
setiap | |
menapis semula elemen untuk penapis balik | data |
lajur | Kembalikan lajur yang ditentukan dalam data |
isih | Isih data |
urutan penyisihan medan | |
Specify | Kocok data |
slice | Intercept sebahagian daripada data |
Map use fungs elemen penapis | |
Tidak Seperti elemen penapis | |
IN pertanyaan elemen penapis dalam tatasusunan | |
IN elemen dalam tatasusunan | di antara |
whereNotBetween | |