Rumah > Artikel > rangka kerja php > Pertanyaan Pangkalan Data dan Hubungan Model dalam Laravel: Mengendalikan Manipulasi Data dengan Elegan
Pertanyaan pangkalan data dan hubungan model dalam Laravel: mengendalikan operasi data dengan elegan
Pengenalan:
Operasi pangkalan data adalah bahagian yang tidak dapat dielakkan dalam pembangunan web, dan Laravel, sebagai rangka kerja pembangunan yang ringkas, elegan dan fleksibel, menyediakan pertanyaan pangkalan data yang kaya dan alat pemprosesan hubungan model. Menggunakan Laravel, kami boleh melaksanakan operasi pangkalan data dengan lebih mudah dan mewujudkan sambungan antara data melalui perhubungan model. Artikel ini akan memperkenalkan kaedah pemprosesan data secara elegan dalam Laravel daripada dua aspek: pertanyaan pangkalan data dan hubungan model, untuk membantu pembaca menggunakan Laravel dengan lebih baik untuk pembangunan.
1. Pertanyaan pangkalan data
// Soal semua pengguna
$users = DB::table('users')->get();
// Soal medan yang ditentukan dan susun mengikut id dalam tertib menurun
$ pengguna = DB ::table('users')->select('name', 'email')->orderBy('id', 'desc')->get();
// Usia pertanyaan lebih besar daripada atau sama dengan 18 Pengguna berumur
$users = DB::table('users')->where('age', '>=', 18)->get();
// Pertanyaan data pengguna mengikut halaman
$ pengguna = DB::table('users')->paginate(10);
namespace AppModels;
use IlluminateDatabaseEloquentModel;
class Pengguna melanjutkan Model
{
{100}{101} diproses melalui model Pertanyaan dan operasi:
// Soal semua pengguna
$users = User::all();
// Soal medan yang ditentukan dan susun mengikut id dalam tertib menurun
// Pertanyaan pengguna yang berumur 18 tahun ke atas
// Soal data pengguna mengikut penomboran
2. selalunya terdapat perbezaan tertentu antara perhubungan Persatuan data, dan Laravel menyediakan pelbagai kaedah untuk mengendalikan perhubungan antara model, seperti satu-dengan-satu, satu-ke-banyak, banyak-ke-banyak, dsb. Berikut adalah pengenalan menggunakan satu-ke-banyak sebagai contoh.
Takrifkan perkaitan
hasMany
dalam kelas model untuk mentakrifkan perkaitan satu-ke-banyak: use Illuminate
Database;Elluminate
protected $table = 'users'; public function posts() { return $this->hasMany(Post::class); }
Akses data berkaitan
Kami boleh mengakses data berkaitan dengan mudah melalui kaedah perkaitan yang ditakrifkan dalam model. Sebagai contoh, kita boleh mendapatkan semua siaran pengguna melalui $user->posts
:
Penapisan dan pengisihan data yang berkaitan
Kami juga boleh menggunakan kaedah yang berkaitan untuk melaksanakan operasi penapisan dan pengisihan data. Sebagai contoh, dapatkan 5 siaran teratas pengguna dan isikannya dalam susunan menurun mengikut masa penerbitan:
$user = User::find(1);
Atas ialah kandungan terperinci Pertanyaan Pangkalan Data dan Hubungan Model dalam Laravel: Mengendalikan Manipulasi Data dengan Elegan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!