Apabila membuat pertanyaan pangkalan data Laravel, kami biasanya perlu menentukan medan tertentu untuk diambil semula. Laravel menyediakan beberapa cara berbeza untuk mencapai matlamat ini. Berikut ialah pengenalan terperinci kepada kaedah ini:
Kaedah pilih() Laravel ialah cara paling asas untuk mendapatkan semula medan tertentu. Kita boleh menentukan medan yang akan dikembalikan melalui kaedah ini. Sebagai contoh, berikut ialah contoh pertanyaan nama dan medan e-mel dalam jadual pengguna:
$users = DB::table('users') ->select('name', 'email') ->get();
Daripada pernyataan di atas, kita dapat melihat bahawa kita hanya perlu menghantar medan untuk diambil dalam select( ) kaedah. Ini mengembalikan tatasusunan yang mengandungi nama dan nilai medan e-mel.
Dalam sesetengah kes, kami mungkin perlu menambah medan untuk dikembalikan dalam operasi pertanyaan sedia ada. Pada masa ini, anda boleh menggunakan kaedah addSelect(). Sebagai contoh, berikut ialah contoh menanyakan semua medan dalam jadual pengguna dan menambah medan negara:
$users = DB::table('users') ->addSelect('country') ->get();
Daripada pernyataan di atas, kita dapat melihat bahawa kita hanya perlu menghantar kaedah addSelect() ke tambah medan. Ini mengembalikan tatasusunan yang mengandungi semua nilai medan dan nilai medan negara.
Jika kita hanya perlu mendapatkan semula nilai medan tertentu, kita boleh menggunakan kaedah pluck(). Sebagai contoh, berikut ialah contoh pertanyaan nilai medan e-mel dalam jadual pengguna:
$email = DB::table('users')->where('name', 'John')->pluck('email');
Daripada pernyataan di atas, kita dapat melihat bahawa kita hanya perlu melepasi medan untuk diambil dalam pluck () kaedah. Ini mengembalikan nilai medan.
Sama seperti kaedah pluck(), kaedah value() hanya mendapatkan semula nilai medan tertentu. Walau bagaimanapun, tidak seperti kaedah pluck(), ia mengembalikan nilai tunggal dan bukannya tatasusunan. Sebagai contoh, berikut ialah contoh pertanyaan nilai medan e-mel dalam jadual pengguna:
$email = DB::table('users')->where('name', 'John')->value('email');
Daripada pernyataan di atas, kita dapat melihat bahawa kita hanya perlu menghantar medan untuk diambil dalam nilai () kaedah. Ini mengembalikan nilai medan.
Terdapat juga cara yang lebih maju untuk mendapatkan semula medan tertentu. Jika kita perlu mendapatkan semula data daripada berbilang jadual dan menapis data berdasarkan syarat tertentu, kita boleh menggunakan kaedah selectRaw(). Sebagai contoh, berikut ialah contoh menanyakan medan khusus dalam jadual pesanan dan jadual produk:
$orders = DB::table('orders') ->selectRaw('price * ? as total_price', [2]) ->whereIn('id', [1, 2, 3]) ->get();
Daripada pernyataan di atas, kita dapat melihat bahawa kami menulis pertanyaan SQL mentah dalam kaedah selectRaw() untuk mengira Jumlah harga. Kami juga menggunakan kaedah whereIn() untuk menentukan id pesanan untuk diambil dan kaedah get() untuk mendapatkan hasil pertanyaan.
Ringkasan
Apabila melakukan pertanyaan pangkalan data dalam Laravel, adalah keperluan yang sangat biasa untuk menentukan medan tertentu untuk diambil semula. Kita boleh menggunakan kaedah seperti select(), addSelect(), pluck(), value() dan selectRaw() untuk mencapai matlamat ini. Kaedah ini memberikan fleksibiliti dan keupayaan yang berbeza, membolehkan kami memilih kaedah yang sesuai berdasarkan keperluan pertanyaan khusus.
Atas ialah kandungan terperinci medan khusus pertanyaan laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!