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
$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();
$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();
$users = User::select('name', 'email')->get();
Anda juga boleh menggunakan * untuk menanyakan semua lajur :
$users = User::select('*')->get();
$users = User::take(10)->get();
Anda juga boleh menggunakan skip( ) kaedah Laksanakan paging:
$users = User::skip(10)->take(10)->get();
$users = User::whereIn('age', [16, 17, 18])->get() ;
$users = User::whereNull('email')->get();
$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!