Rumah > rangka kerja php > Laravel > medan khusus pertanyaan laravel

medan khusus pertanyaan laravel

王林
Lepaskan: 2023-05-26 13:07:38
asal
1754 orang telah melayarinya

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:

  1. Menggunakan kaedah pilih()

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();
Salin selepas log masuk

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.

  1. Gunakan kaedah addSelect()

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();
Salin selepas log masuk

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.

  1. Gunakan kaedah pluck()

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');
Salin selepas log masuk

Daripada pernyataan di atas, kita dapat melihat bahawa kita hanya perlu melepasi medan untuk diambil dalam pluck () kaedah. Ini mengembalikan nilai medan.

  1. Gunakan kaedah value()

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');
Salin selepas log masuk

Daripada pernyataan di atas, kita dapat melihat bahawa kita hanya perlu menghantar medan untuk diambil dalam nilai () kaedah. Ini mengembalikan nilai medan.

  1. Gunakan kaedah selectRaw() dan whereIn()

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();
Salin selepas log masuk

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!

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