Rumah > rangka kerja php > ThinkPHP > teks badan

Bagaimana untuk mengalih keluar pertanyaan pendua dalam thinkphp5

WBOY
Lepaskan: 2023-06-03 13:44:41
ke hadapan
2234 orang telah melayarinya

1 Gunakan kata kunci SELECT DISTINCT

Dalam pernyataan SQL, anda boleh menggunakan kata kunci SELECT DISTINCT untuk mendapatkan data unik. Dalam ThinkPHP5, apabila menggunakan kaedah query() kelas thinkDb untuk melaksanakan pernyataan pertanyaan SQL, anda boleh terus menggunakan kata kunci SELECT DISTINCT dalam keadaan pertanyaan, contohnya:

use \think\Db;

$data = Db::query('SELECT DISTINCT `brand` FROM `goods` WHERE `category_id` = 1');
Salin selepas log masuk

Dalam kod di atas, kami gunakan kata kunci SELECT DISTINCT Semua jenama yang goods ialah 1 dalam jadual category_id diperoleh dan hasil pertanyaan diberikan kepada pembolehubah $data.

2 Gunakan kaedah distinct()

Selain menggunakan kata kunci SELECT DISTINCT dalam pernyataan SELECT, anda juga boleh menggunakan kaedah distinct() yang disediakan oleh ThinkPHP5 untuk mencapai deduplikasi. Seperti yang ditunjukkan di bawah:

use \think\Db;

$data = Db::name('goods')
    ->where('category_id', 1)
    ->distinct(true)
    ->field('brand')
    ->select();
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah name() kelas Db untuk menentukan jadual data pertanyaan, kaedah where() untuk menentukan syarat penapisan dan distinct() kaedah Pertanyaan deduplikasi didayakan, kaedah medan() digunakan untuk menentukan medan pertanyaan, dan akhirnya kaedah pilih() digunakan untuk melaksanakan operasi pertanyaan.

3 Gunakan kaedah kumpulan()

Selain menggunakan kata kunci SELECT DISTINCT dan kaedah distinct(), anda juga boleh menggunakan kaedah kumpulan() untuk melaksanakan pertanyaan deduplikasi. Seperti yang ditunjukkan di bawah:

use \think\Db;

$data = Db::name('goods')
    ->where('category_id', 1)
    ->group('brand')
    ->select();
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah name() kelas Db untuk menentukan jadual data pertanyaan, kaedah where() untuk menentukan syarat penapisan dan kumpulan() kaedah Pengumpulan dilakukan, dan akhirnya kaedah pilih() digunakan untuk melaksanakan operasi pertanyaan.

Dalam kerja pembangunan sebenar, kita perlu memilih kaedah pertanyaan deduplikasi yang sesuai mengikut keperluan perniagaan tertentu untuk memastikan ketepatan dan kecekapan hasil pertanyaan.

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

Label berkaitan:
sumber:yisu.com
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