Rumah > rangka kerja php > Laravel > teks badan

Analisis ringkas tentang cara menggunakan kaedah pilih sebagai dalam laravel

PHPz
Lepaskan: 2023-04-03 20:55:47
asal
1415 orang telah melayarinya

Laravel ialah rangka kerja PHP popular yang menyediakan banyak fungsi dan ciri yang mudah, termasuk cara untuk memudahkan pernyataan pertanyaan SQL. Salah satunya ialah kaedah pilih sebagai.

Kaedah pilih sebagai membolehkan anda memberikan alias kepada lajur hasil pertanyaan dalam pernyataan pertanyaan SQL, supaya anda boleh mengendalikan dan merujuk lajur ini pada masa hadapan. Sintaks kaedah ini adalah seperti berikut:

DB::table('table_name')
   ->select('column_name AS column_alias', 'another_column AS another_alias')
   ->get();
Salin selepas log masuk

Dalam contoh di atas, kami menggunakan kelas DB untuk menyambung ke pangkalan data dan memilih jadual (table_name). Gunakan kaedah select untuk memilih lajur yang kami perlukan dan tentukan alias untuk lajur ini. Format alias ialah column_name AS column_alias.

Sebagai contoh, untuk menentukan alias untuk lajur id dan username dalam jadual pengguna:

DB::table('users')
   ->select('id AS user_id', 'username AS name')
   ->get();
Salin selepas log masuk

Ini akan mengembalikan tatasusunan objek yang mengandungi semua hasil yang sepadan dengan kriteria pertanyaan :

[
  { "user_id": 1, "name": "john" },
  { "user_id": 2, "name": "jane" },
  { "user_id": 3, "name": "bob" },
  ...
]
Salin selepas log masuk

Anda boleh menggunakan alias untuk mengisih, menapis, menomborkan hasil, dsb.:

DB::table('users')
   ->select('id AS user_id', 'username AS name')
   ->orderBy('name')
   ->skip(10)
   ->take(5)
   ->get();
Salin selepas log masuk

Dalam contoh di atas, kami mengisih mengikut abjad mengikut nama pengguna, melangkau yang sebelumnya 10 keputusan, kemudian pilih 5 keputusan seterusnya.

Kaedah pilih sebagai sesuai untuk sebarang jenis pertanyaan, termasuk pertanyaan sertai. Sebagai contoh, katakan kita mempunyai jadual orders yang merangkumi butiran pesanan dan ID pengguna yang sepadan:

orders table:
+----+---------+---------+------+
| id | user_id | product | cost |
+----+---------+---------+------+
| 1  | 1       | Apple   | 10   |
| 2  | 2       | Banana  | 15   |
| 3  | 1       | Orange  | 8    |
| 4  | 3       | Pear    | 20   |
| 5  | 2       | Kiwi    | 5    |
| 6  | 1       | Mango   | 12   |
+----+---------+---------+------+
Salin selepas log masuk

Kita boleh menggunakan pertanyaan sertai untuk mendapatkan jumlah harga pesanan bagi setiap pengguna :

DB::table('users')
   ->join('orders', 'users.id', '=', 'orders.user_id')
   ->select('users.name', DB::raw('SUM(cost) AS total_cost'))
   ->groupBy('users.name')
   ->get();
Salin selepas log masuk

Dalam contoh di atas, kami menyertai jadual users dan orders, memilih nama semua pengguna dan jumlah harga pesanan mereka (dikira menggunakan fungsi agregat SUM) . Kami menggunakan GROUP BY untuk mengumpulkan hasil mengikut nama pengguna. Keputusan akhir adalah seperti berikut:

[
  { "name": "bob", "total_cost": "20" },
  { "name": "jane", "total_cost": "20" },
  { "name": "john", "total_cost": "30" },
  ...
]
Salin selepas log masuk

Perhatikan bahawa dalam contoh ini kami menggunakan DB::raw untuk memproses kod asal dalam pernyataan pertanyaan SQL Kaedah ini membolehkan kami menambah sebarang kod yang kami perlukan pada pertanyaan pernyataan, seperti fungsi agregat.

Untuk meringkaskan, kaedah pilih sebagai Laravel membolehkan anda menentukan alias untuk lajur hasil pertanyaan, menjadikannya lebih mudah untuk anda mengendalikan dan merujuk lajur ini pada masa hadapan. Ia berfungsi dengan sebarang jenis pertanyaan, termasuk pertanyaan penyertaan. Jika anda sedang membangun dengan Laravel, kaedah ini pasti akan menjadikan kerja anda lebih mudah dan cekap.

Atas ialah kandungan terperinci Analisis ringkas tentang cara menggunakan kaedah pilih sebagai dalam 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!