Rumah  >  Artikel  >  rangka kerja php  >  sintaks pertanyaan laravel

sintaks pertanyaan laravel

WBOY
WBOYasal
2023-05-29 10:01:37774semak imbas

Laravel ialah salah satu rangka kerja PHP yang paling popular hari ini. Sintaks pertanyaannya adalah elegan, ringkas dan mudah digunakan. Dalam artikel ini, saya akan menyelidiki sintaks pertanyaan Laravel, memperkenalkan beberapa kaedah pertanyaan biasa dan cara melaksanakan pertanyaan kompleks.

Sintaks asas pertanyaan Laravel
Dalam Laravel, pernyataan pertanyaan dibina menggunakan Eloquent ORM. ORM ialah Pemetaan Perhubungan Objek, yang membolehkan kami mengendalikan pangkalan data dalam cara berorientasikan objek, sangat memudahkan proses interaksi dengan pangkalan data.

Berikut ialah contoh menggunakan sintaks pertanyaan Laravel:

//Dapatkan seorang pengguna
$user = User::find(1);

// Dapatkan Senarai pengguna
$users = User::all();

//Penapisan bersyarat, dapatkan senarai pengguna di bawah syarat yang ditetapkan
$users = User::where('age' , '> ', 18)->get();

//Kemas kini data
$user->name = 'new name';
$user->save( );

//Padam data
$user->delete();

Seperti yang ditunjukkan di atas, operasi asas CURD boleh dilaksanakan dengan mudah menggunakan sintaks pertanyaan Laravel. Di bawah ini kami akan memperkenalkan beberapa kaedah pertanyaan yang biasa digunakan.

Kaedah pertanyaan yang biasa digunakan

  1. kaedah where()
    where() ialah kaedah penapisan keadaan yang sangat biasa. Tapis rekod yang memenuhi keperluan berdasarkan syarat yang diberikan. Contohnya:

$pengguna = Pengguna::di mana('umur', '>', 18)->di mana('jantina', 'lelaki')->dapat() ; Kaedah

where() juga boleh menerima parameter ketiga untuk menentukan operator, contohnya:

$users = User::where('age', '>=', 18)->get();

  1. kaedah orderBy()
    orderBy() digunakan untuk mengisih. Sebagai contoh, kita boleh mengisih mengikut umur pengguna:

$users = User::orderBy('age')->get();

Secara lalai, orderBy () kaedah disusun mengikut tertib menaik. Jika anda ingin mengisih dalam tertib menurun, anda boleh lulus parameter DESC:

$users = User::orderBy('age', 'desc')->get();

Selain itu, Kaedah orderBy() boleh menerima berbilang parameter untuk menentukan berbilang syarat pengisihan:

$users = User::orderBy('age', 'desc')->orderBy('name')- >get();

  1. select()
    select() kaedah digunakan untuk menanyakan lajur yang ditentukan. Contohnya:

$users = User::select('name', 'email')->get();

Anda juga boleh menggunakan * untuk menanyakan semua lajur :

$users = User::select('*')->get();

  1. take() dan skip()
    take() kaedah ialah digunakan untuk sekatan Bilangan rekod yang dikembalikan, langkau() digunakan untuk melangkau bilangan rekod yang ditentukan. Sebagai contoh, kami boleh menanyakan 10 pengguna teratas:

$users = User::take(10)->get();

Anda juga boleh menggunakan skip( ) kaedah Laksanakan paging:

$users = User::skip(10)->take(10)->get();

  1. whereIn() dan whereNotIn( )
    kaedah whereIn(), whereNotIn() boleh digunakan untuk menggunakan IN dan NOT IN dalam pertanyaan. Contohnya, untuk mendapatkan pengguna di bawah umur 18 tahun, anda boleh menulis:

$users = User::whereIn('age', [16, 17, 18])->get() ;

  1. whereNull() dan whereNotNull()
    Kaedah whereNull() boleh menapis rekod dengan lajur yang ditentukan kosong, dan whereNotNull() boleh menapis rekod yang tidak kosong. Contohnya:

$users = User::whereNull('email')->get();

  1. groupBy() dan having()
    groupBy Kaedah () digunakan untuk mengumpulkan set hasil, dan kaedah having() digunakan untuk menapis hasil berkumpulan. Sebagai contoh, kami boleh mengumpulkan mengikut jantina dan menapis pengguna lelaki yang berumur lebih daripada 20 tahun:

$users = User::groupBy('jantina')->having('age ', '>', 20)->get();

Pertanyaan kompleks

Di atas memperkenalkan beberapa penggunaan asas sintaks pertanyaan Laravel. Walau bagaimanapun, dalam pembangunan sebenar, data yang biasanya kami perlukan untuk pertanyaan mungkin sangat kompleks, dan lebih banyak kaedah pertanyaan perlu digunakan untuk mencapainya. Dalam Laravel, anda boleh menggunakan Pembina Pertanyaan untuk menulis pernyataan pertanyaan yang lebih kompleks.

Sebagai contoh, untuk menyoal pengguna yang penggunaan kumulatifnya melebihi 500 yuan dalam rekod pembelian pengguna, anda boleh menulis seperti ini:

$users = DB::table('users')

        ->join('orders', 'users.id', '=', 'orders.user_id')
        ->select('users.id', 'users.name', 'users.email', DB::raw('SUM(orders.total) as total'))
        ->groupBy('users.id')
        ->having('total', '>', 500)
        ->get();

Dalam kod di atas, kami menggunakan kaedah join() untuk menyambungkan jadual pengguna dan jadual pesanan, menggunakan kaedah groupBy() untuk mengumpulkan pengguna dan menggunakan kaedah having() untuk menapis keluar pengguna yang penggunaan kumulatifnya melebihi 500 yuan.

Ringkasan

Dalam Laravel, operasi asas CURD boleh dilaksanakan dengan mudah menggunakan Eloquent ORM. Pada masa yang sama, pertanyaan yang lebih kompleks boleh dilaksanakan menggunakan Pembina Pertanyaan. Saya harap artikel ini akan membantu anda memahami sintaks pertanyaan Laravel.

Atas ialah kandungan terperinci sintaks pertanyaan laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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