Rumah > rangka kerja php > ThinkPHP > pertanyaan thinkphp5.1 tidak sama dengan

pertanyaan thinkphp5.1 tidak sama dengan

PHPz
Lepaskan: 2023-05-29 11:35:07
asal
2478 orang telah melayarinya

thinkphp5.1 ialah salah satu rangka kerja pembangunan PHP yang paling popular pada masa ini Ia menyediakan fungsi pertanyaan yang berkuasa dan boleh digunakan untuk melaksanakan pelbagai operasi yang kompleks dalam pangkalan data. Dalam proses pembangunan sebenar, kita sering menghadapi situasi di mana kita perlu membuat pertanyaan jika ia tidak sama dengan nilai tertentu Artikel ini akan memperkenalkan secara terperinci cara melakukan pertanyaan ketaksamaan dalam thinkphp5.1.

Kita perlu terlebih dahulu memahami pembina pertanyaan thinkphp5.1, yang membina pernyataan pertanyaan SQL melalui kaedah panggilan berantai. Sebagai contoh, kita boleh menggunakan kod berikut untuk menanyakan rekod dengan id 1 dalam jadual:

$user = Db::name('user')->where('id', 1)->find();
Salin selepas log masuk

Di sini, Db::name('user') bermaksud mengendalikan jadual pengguna dan di mana('id ', 1) bermaksud Untuk menanyakan rekod dengan id=1, find() bermaksud mencari rekod dan mengembalikannya. Ini adalah contoh pertanyaan mudah, tetapi dalam aplikasi sebenar, kita perlu menanyakan beberapa rekod yang tidak sama dengan nilai tertentu.

Pertama, kita boleh menggunakan kaedah notEq untuk menanyakan rekod yang tidak sama dengan nilai tertentu. Berikut ialah contoh:

$users = Db::name('user')->where('status', '<>', 1)->select();
Salin selepas log masuk

Di sini, kaedah notEq akan menanyakan semua rekod yang statusnya tidak sama dengan 1. Jika kita ingin menanyakan rekod dengan id tidak sama dengan 1, kita boleh menggunakan kod berikut:

$users = Db::name('user')->where('id', '<>', 1)->select();
Salin selepas log masuk

Dalam kaedah where, kita boleh menggunakan operator perbandingan lain, seperti: >, <, > =, < ;= Tunggu. Jika kita ingin menanyakan semua rekod yang statusnya tidak sama dengan 1 dan 2, kita boleh menggunakan kod berikut:

$users = Db::name('user')->where('status', 'not in', [1, 2])->select();
Salin selepas log masuk

Di sini, 'not in' bermaksud nilai yang bukan antara [1, 2]. Kami juga boleh menggunakan pengendali perbandingan lain, seperti dalam, antara, bukan antara, dll.

Jika kita ingin menanyakan rekod dengan status kosong, kita boleh menggunakan kod berikut:

$users = Db::name('user')->where('status', 'NULL')->select();
Salin selepas log masuk

Perhatikan bahawa 'NULL' di sini ialah rentetan, yang menunjukkan nilai NULL. Begitu juga, kita juga boleh menanyakan nilai bukan nol, contohnya:

$users = Db::name('user')->where('status', 'NOT NULL')->select();
Salin selepas log masuk

Selain menggunakan kaedah where, kita juga boleh menggunakan kaedah whereRaw untuk menanyakan rekod yang tidak sama dengan nilai tertentu. Berikut ialah contoh:

$users = Db::name('user')->whereRaw('status <> 1')->select();
Salin selepas log masuk

Di sini, kaedah whereRaw membenarkan kami menggunakan simbol ketaksamaan (<>) terus dalam pernyataan SQL.

Akhir sekali, kami juga boleh menggunakan fungsi penutupan untuk membina keadaan pertanyaan. Berikut ialah contoh:

$users = Db::name('user')->where(function($query){
    $query->where('status', '<>', 1)
          ->whereOr('name', '<>', 'admin');
})->select();
Salin selepas log masuk

Di sini, kaedah where dalam fungsi penutupan menjadikan pertanyaan tidak sama dengan rekod dengan status 1, dan pertanyaan kaedah whereOr tidak sama dengan rekod bernama admin.

Ringkasnya, untuk menanyakan rekod yang tidak sama dengan nilai tertentu dalam thinkphp5.1, kita boleh menggunakan kaedah notEq, kaedah where, kaedah whereRaw, fungsi penutupan dan kaedah lain. Perlu memilih kaedah yang sesuai mengikut keadaan sebenar. Jika anda mempunyai sebarang soalan semasa pembangunan, anda boleh merujuk kepada dokumentasi rasmi thinkphp5.1, atau menyertai komuniti pembangunan berkaitan thinkphp5.1 untuk mendapatkan lebih banyak bantuan dan sokongan.

Atas ialah kandungan terperinci pertanyaan thinkphp5.1 tidak sama dengan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan