Rumah > rangka kerja php > Laravel > Apakah kegunaan DB::raw dalam laravel?

Apakah kegunaan DB::raw dalam laravel?

WBOY
Lepaskan: 2022-02-18 11:17:27
asal
5251 orang telah melayarinya

Dalam laravel, kaedah "DB::raw()" digunakan untuk pertanyaan sql yang kompleks Kaedah ini boleh merawat set hasil pertanyaan sebagai jadual sementara, dan kemudian menggunakan sintaks pembina pertanyaan laravel untuk Pemprosesan halaman. sintaksnya ialah "DB::raw('function or field');".

Apakah kegunaan DB::raw dalam laravel?

Persekitaran pengendalian artikel ini: sistem Windows 10, Laravel versi 6, komputer Dell G3.

Apakah kegunaan DB::raw dalam laravel?

Saya menghadapi masalah dalam projek, pertanyaan sql kompleks, menggunakan pembina pertanyaan laravel sangat menyusahkan, pelbagai pertanyaan Menghubungkan senarai panjang daripada keadaan membuat kepala saya sakit; maka saya ingin menggunakan pernyataan SQL asli untuk membuat pertanyaan, tetapi kemudian saya tidak boleh menggunakan kaedah paging() laravel ini apabila kaedah DB::raw() berguna! Prinsip sintaks adalah untuk merawat set hasil pertanyaan anda sebagai jadual sementara, dan kemudian menggunakan sintaks pembina pertanyaan laravel untuk pemprosesan halaman

Contoh 1:

$users = DB::table('users')
                   ->select(DB::raw('count(*) as user_count, status'))
                   ->where(&#39;status&#39;, &#39;<>&#39;, 1)
                   ->groupBy(&#39;status&#39;)
                   ->get();
Salin selepas log masuk

Contoh 2; :

 DB::table(&#39;someTable&#39;)
->selectRaw(&#39;count(*), min(some_field) as someMin, max(another_field) as someMax&#39;)
->get();
Salin selepas log masuk

Contoh 3:

DB::table(&#39;someTable&#39;)->select(
array(
        DB::raw(&#39;min(some_field) as someMin&#39;),
        DB::raw(&#39;max(another_field) as someMax&#39;),
        DB::raw(&#39;COUNT(*) as `count`&#39;)
    )
)->get()
Salin selepas log masuk

Contoh 4:

SELECT 
  (CASE WHEN (gender = 1) THEN &#39;M&#39; ELSE &#39;F&#39; END) AS gender_text 
  FROM users;
$users = DB::table(&#39;users&#39;)
  ->select(DB::raw("
  name,
  surname,  
  (CASE WHEN (gender = 1) THEN &#39;M&#39; ELSE &#39;F&#39; END) as gender_text")
);
Salin selepas log masuk

[Cadangan berkaitan: tutorial video laravel]

Atas ialah kandungan terperinci Apakah kegunaan DB::raw dalam laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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