Rumah > Artikel > rangka kerja php > Bagaimana untuk menanyakan data dalam rangka kerja thinkphp
1. Pertanyaan asas
Dalam rangka kerja ThinkPHP, anda boleh menggunakan cari, pilih, tempat, susunan dan kaedah lain kelas model untuk melaksanakan operasi pertanyaan asas.
(1) kaedah cari
Kaedah cari digunakan untuk menanyakan rekod data dan boleh disoal terus berdasarkan kunci utama. Contohnya:
$user = UserModel::find(1);
Kod di atas akan menanyakan rekod pengguna dengan ID 1 daripada kelas model UserModel.
(2) Pilih kaedah
Kaedah pilih boleh digunakan untuk mendapatkan semula berbilang rekod data, dan boleh mengehadkan serta mengisihnya menggunakan kaedah seperti tempat dan susunan. Contohnya:
$list = UserModel::where('age', '>', 18)->order('id desc')->select();
Kod di atas akan menanyakan semua rekod pengguna yang berumur lebih daripada 18 tahun daripada kelas model UserModel dan mengisihnya dalam susunan terbalik mengikut ID.
(3) di mana kaedah
di mana kaedah digunakan untuk menetapkan syarat dan boleh digunakan untuk pertanyaan asas dan pertanyaan statistik. Contohnya:
$count = UserModel::where('gender', 1)->count();
Kod di atas akan mengira bilangan pengguna lelaki dalam kelas model UserModel.
(4) kaedah pesanan
Kaedah pesanan digunakan untuk menetapkan pengisihan. Contohnya:
$list = UserModel::order('id desc')->select();
Kod di atas akan menanyakan semua rekod pengguna daripada kelas model UserModel dan mengisihnya dalam susunan terbalik mengikut ID.
2. Pertanyaan lanjutan
Selain operasi pertanyaan asas, rangka kerja ThinkPHP juga menyediakan fungsi pertanyaan lanjutan yang berkuasa, termasuk pertanyaan berbilang jadual, pertanyaan jadual dan pertanyaan statistik tunggu.
(1) Pertanyaan berbilang jadual
Dalam pertanyaan berbilang jadual, beberapa kelas model perlu digunakan. Contohnya:
$list = UserModel::alias('u')->join('order o', 'u.id = o.user_id')->where('u.age', '>', 18)->select();
Kod di atas akan menanyakan semua pengguna yang berumur lebih daripada 18 tahun dan rekod pesanan mereka daripada kelas model UserModel dan OrderModel.
(2) Pertanyaan jadual bercantum
Pertanyaan jadual bercantum ialah satu bentuk pertanyaan berbilang jadual Gunakan kaedah gabungan ThinkPHP untuk beroperasi:
$list = UserModel::join('order o', 'user.id = o.user_id')->select();
Kod di atas akan. dijana daripada UserModel Dan tanya semua pengguna dan rekod pesanan mereka dalam kelas model OrderModel.
(3) Pertanyaan statistik
Dalam pertanyaan statistik, anda boleh menggunakan kaedah kiraan kelas model untuk beroperasi, contohnya:
$count = UserModel::where('age', '>', 18)->count();
Kod di atas akan mengira umur dalam kelas model UserModel Bilangan pengguna berumur lebih 18 tahun.
Atas ialah kandungan terperinci Bagaimana untuk menanyakan data dalam rangka kerja thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!