Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk melaksanakan fungsi pengiraan pertanyaan dalam thinkphp5

Bagaimana untuk melaksanakan fungsi pengiraan pertanyaan dalam thinkphp5

王林
王林ke hadapan
2023-05-26 19:10:261425semak imbas

1. Pertanyaan

Dalam ThinkPHP5, kita boleh menanyakan pangkalan data melalui kelas Db atau kelas Model. Di sini kita mengambil kelas Model sebagai contoh.

  1. Pertanyaan asas

Kami boleh melaksanakan operasi pertanyaan asas melalui kaedah select(), seperti berikut:

//创建模型对象
$user = new UserModel();
//查询user表中姓名为张三的记录
$result = $user -> where('name','张三') -> select();

The kod di atas , kaedah where() digunakan untuk menentukan syarat pertanyaan dan format parameternya ialah where(查询字段,查询值). Apabila syarat pertanyaan adalah berbilang medan, kami boleh menggunakan operasi rantaian.

adalah seperti berikut:

$user -> where('name','张三') -> where('age',20) -> select();

Ini bermakna menanyakan rekod dalam jadual pengguna yang namanya Zhang San dan yang berumur 20 tahun.

  1. Pertanyaan bersyarat

Kami boleh menambah where(), whereOr(), whereLike() dan kaedah pertanyaan bersyarat lain pada pernyataan pertanyaan kepada Laksanakan operasi pertanyaan yang lebih fleksibel.

adalah seperti berikut:

//查询user表中年龄大于20,且性别为男的记录
$result = $user -> where('age','>',20) -> where('gender','男') -> select();
//查询user表中年龄小于20或性别为女的记录
$result = $user -> where(&#39;age&#39;,&#39;<&#39;,20) -> whereOr(&#39;gender&#39;,&#39;女&#39;) -> select();
//查询user表中姓名包含‘张’的记录
$result = $user -> whereLike(&#39;name&#39;,&#39;%张%&#39;) -> select();

Dalam kod di atas, kaedah where() dan kaedah whereOr() masing-masing mewakili hubungan di mana syarat pertanyaan adalah "dan" dan "atau", dan format parameternya adalah sama; dan Kaedah whereLike() digunakan untuk melaksanakan pertanyaan kabur, dan parameter kedua mewakili keadaan padanan pertanyaan.

Selain itu, kami juga boleh membuat panggilan berantai order() untuk mengisih hasil pertanyaan, seperti berikut:

$result = $user -> where(&#39;age&#39;,&#39;>&#39;,20) -> order(&#39;age desc&#39;) -> select();

Kod di atas bermaksud untuk menanyakan rekod dengan umur lebih daripada 20 dalam pengguna jadual, dan isikannya daripada yang paling lama kepada yang paling lama Isih mengikut kecil.

  1. Pertanyaan paging

Apabila kita perlu menanyakan sejumlah besar data, kita boleh menggunakan fungsi pertanyaan paging untuk menghalang pelayan daripada menjadi terbeban kerana volum data yang berlebihan .

Dalam ThinkPHP5, kita boleh menggunakan kaedah limit() untuk melaksanakan pertanyaan halaman. Kaedah limit() mempunyai dua parameter, parameter pertama mewakili offset permulaan dan parameter kedua mewakili bilangan rekod yang dipaparkan pada setiap halaman.

adalah seperti berikut:

// 每页显示3条记录,查询第2页的数据
$result = $user -> limit(3,3) -> select();

Kod di atas menunjukkan pertanyaan halaman 2 jadual pengguna dan memaparkan 3 rekod pada setiap halaman.

2. Mengira

Dalam ThinkPHP5, kita boleh melaksanakan fungsi pengiraan asas melalui kaedah count().

adalah seperti berikut:

//计算user表中记录总数
$count = $user -> count();
//计算user表中年龄大于20的记录数
$count = $user -> where(&#39;age&#39;,&#39;>&#39;,20) -> count();

Perlu diambil perhatian bahawa kaedah count() sebenarnya melakukan pertanyaan pada pangkalan data, jadi dalam aplikasi sebenar, operasi pengiraan yang tidak perlu harus diminimumkan untuk memastikan Memperbaik aplikasi prestasi.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi pengiraan pertanyaan dalam thinkphp5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam