Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat teknologi Internet, pembangunan Web telah menjadi teknologi yang digunakan secara meluas dalam pelbagai bidang, dan PHP, sebagai bahasa pengaturcaraan bahagian pelayan, telah digunakan secara meluas dalam bidang pembangunan Web. Dalam PHP, ThinkPHP ialah rangka kerja pembangunan web yang berkuasa, ringkas dan mudah digunakan, yang telah menjadi pilihan pertama banyak pembangun. Artikel ini akan menumpukan pada kaedah menanyakan data dan mencetak di bawah rangka kerja ThinkPHP5.
Dalam ThinkPHP5, gunakan fungsi pembantu db()
untuk mengendalikan pangkalan data Terdapat banyak cara untuk menanyakan data, yang paling biasa digunakan ialah select()
dan find()
. Kaedah
select()
menanyakan beberapa keping data dan mengembalikan tatasusunan dua dimensi yang mengandungi berbilang tatasusunan. Kaedah find()
mempersoalkan sekeping data dan mengembalikan tatasusunan satu dimensi. Sebagai contoh, tanya semua data dalam jadual user
:
use think\facade\Db; $users = Db::table('user')->select();
Soal data dengan user
ialah 1 dalam jadual id
:
$user = Db::table('user')->where('id', 1)->find();
ThinkPHP5 menyokong operasi rantaian Anda boleh menggunakan kaedah lain secara langsung selepas satu kaedah untuk menapis data yang diperlukan dengan lebih mudah. Contohnya, tanya 10 data teratas dalam jadual user
dengan status
ialah 1 dan diisih dalam tertib menurun dengan create_time
:
$users = Db::table('user') ->where('status', 1) ->order('create_time', 'desc') ->limit(10) ->select();
Kecuali Sebagai tambahan kepada pertanyaan asas, ThinkPHP5 juga menyediakan beberapa sintaks pertanyaan lanjutan untuk pertanyaan data dengan lebih mudah.
2.1 Pertanyaan panggil balik
Pertanyaan panggilan balik ialah kaedah operasi rantaian Ia menggunakan kaedah where()
untuk menghantar dalam fungsi tanpa nama dan menggunakan syarat pertanyaan sebagai parameter pelaksanaannya hasilnya ialah syarat pertanyaan, dan objek pembina pertanyaan dikembalikan. Contohnya, tanya semua data dalam jadual user
dengan name
sama dengan leijun
atau email
sama dengan leijun@gmail.com
:
$users = Db::table('user')->where(function($query){ $query->where('name', 'leijun') ->whereOr('email', 'leijun@gmail.com'); })->select();
2.2 like
Pertanyaan
like
Pertanyaan ialah kaedah pertanyaan kabur Ia menggunakan kaedah where()
untuk menghantar rentetan dengan like
sebagai syarat, mengambil syarat pertanyaan sebagai parameter rentetan, dan kemudian mengembalikan pembina pertanyaan. objek. Contohnya, tanya semua data dalam jadual user
di mana name
bermula dengan leijun
:
$users = Db::table('user')->where('name', 'like', 'leijun%')->select();
2.3 in
Pertanyaan
in
pertanyaan ialah sekumpulan Kaedah pertanyaan dalam data dilaksanakan menggunakan kaedah whereIn()
, yang menerima nama medan dan tatasusunan sebagai parameter dan mengembalikan objek pembina pertanyaan. Contohnya, tanya semua data user
dalam [1,2,3] dalam jadual id
:
$users = Db::table('user')->whereIn('id', [1,2,3])->select();
ialah dilakukan melalui kaedah Pertanyaan di atas, kami telah memperoleh data yang kami inginkan, dan kini kami perlu mencetak data tersebut.
Kaedah pencetakan data ThinkPHP5 adalah sangat mudah, kita hanya perlu menggunakan fungsi dump()
atau var_dump()
. Contohnya, untuk mencetak semua data dalam jadual user
yang ditanya:
use think\facade\Db; $users = Db::table('user')->select(); dump($users);
Buka halaman dalam penyemak imbas dan data yang ditanya akan dicetak.
Melalui pengenalan artikel ini, anda telah mempelajari cara membuat pertanyaan data dan mencetak di bawah rangka kerja ThinkPHP5 Kami terutamanya memperkenalkan pertanyaan asas, pertanyaan lanjutan dan Data percetakan. Dengan pengetahuan ini, saya percaya anda sudah boleh melakukan pertanyaan dan pencetakan data yang cekap semasa pembangunan.
Atas ialah kandungan terperinci Penjelasan terperinci tentang cara menanyakan data dan mencetak dalam ThinkPHP5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!