Indeks Tatasusunan Menggunakan Nilai Lajur dengan PDO
Dalam usaha untuk mendapatkan semula data daripada pangkalan data, selalunya kita menghadapi keperluan untuk mendapatkan hasilnya set diindeks oleh nilai lajur tertentu. Ini amat berguna apabila bekerja dengan set data yang besar atau apabila anda ingin mencari data dengan cepat menggunakan kunci tertentu.
Ambil, sebagai contoh, jadual 'jenama' dengan data berikut:
id | name | url |
---|---|---|
1 | Solidfloor | solidfloor |
2 | Quickstep | quickstep |
4 | Cleanfloor | cleanfloor |
5 | Blue Dolphin | blue-dolphin |
6 | Krono | krono |
8 | Meister | meister |
Secara tradisinya, PDO menawarkan mod PDO::FETCH_ASSOC, yang mengembalikan tatasusunan bersekutu dengan kuncinya ialah nama lajur. Walau bagaimanapun, pendekatan ini tidak begitu menepati keperluan pengindeksan kami.
Untuk penyelesaian yang ringkas, PDO menyediakan parameter yang kurang dikenali yang dipanggil PDO::FETCH_UNIQUE. Dengan menggunakan parameter ini, kami boleh menentukan bahawa indeks tatasusunan yang terhasil hendaklah nilai medan pertama yang disenaraikan dalam klausa SELECT, atau medan id dalam kes kami.
$data = $pdo->query('SELECT * FROM brands')->fetchAll(PDO::FETCH_UNIQUE);
Menggunakan PDO:: FETCH_UNIQUE memastikan tatasusunan yang terhasil diindeks oleh lajur id, memberikan data yang lebih intuitif struktur:
[ 1 => [ 'name' => 'Solidfloor', 'url' => 'solidfloor', ], 2 => [ 'name' => 'Quickstep', 'url' => 'quickstep', ], 4 => [ 'name' => 'Cleanfloor', 'url' => 'cleanfloor', ], ]
Dengan menggabungkan PDO::FETCH_UNIQUE, kami menghapuskan keperluan untuk gelung yang rumit dan menyediakan cara yang lebih cekap untuk mengindeks hasil pangkalan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengindeks Set Keputusan PDO Menggunakan Nilai Lajur Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!