laravel

Pembina Pertanyaan Laravel

Pembina Pertanyaan Laravel
Pembangun pertanyaan Laravel menyediakan cara yang mudah dan senang untuk membuat dan menjalankan pertanyaan pangkalan data dan disokong oleh semua sistem pangkalan data Laravel. Ini digunakan untuk melindungi aplikasi Laravel dari serangan suntikan SQL menggunakan pengikatan parameter PDO. Pakej ini dapat melakukan beberapa jenis operasi pangkalan data, seperti JENAYAH (Masukkan, Pilih, Kemas kini dan Padam) dan agregat fungsi, seperti UNION, SUM, COUNT, dan lain-lain. Tutorial ini menunjukkan kepada anda bagaimana menerapkan query builder untuk melakukan pelbagai operasi CRUD dalam pangkalan data.

Prasyarat

Sebelum memulakan tutorial ini, pertama, selesaikan tugas berikut.

  1. Buat projek Laravel baru
  2. Buat sambungan pangkalan data

Buat Jadual

Anda boleh menggunakan satu atau lebih jadual pangkalan data untuk menerapkan pembangun pertanyaan untuk melaksanakan pelbagai jenis pertanyaan. Jadual baru, yang dinamakan pelanggan, dibuat di sini untuk menunjukkan kegunaan pembangun pertanyaan. Jalankan arahan berikut untuk membuat fail migrasi untuk membuat struktur pelanggan meja. Fail migrasi akan dibuat di pangkalan data / penghijrahan folder setelah melaksanakan arahan.

$ php artisan make: migrasi create_clients_table

Buka fail migrasi yang baru dibuat dan kemas kini ke atas () kaedah dengan kod berikut. Enam medan akan dihasilkan untuk jadual klien setelah menjalankan perintah migrate. Ladang adalah id, nama, e-mel, alamat, create_at, dan dikemas kini_at.

fungsi awam meningkat ()

Skema :: create ('client', function (Blueprint $ table)
$ table-> id ();
$ table-> string ('name');
$ table-> string ('e-mel');
$ table-> teks ('alamat');
$ table-> cap masa ();
);

Jalankan arahan berikut untuk membuat jadual dalam pangkalan data berdasarkan struktur yang ditentukan dalam fail migrasi.

$ php artisan berhijrah

Anda boleh memeriksa medan jadual dengan membuka struktur pelanggan jadual dari phpMyAdmin. Output berikut akan muncul setelah membuka struktur jadual.

Masukkan Data ke dalam Jadual Menggunakan Query Builder

Anda boleh memasukkan data ke dalam jadual menggunakan pembangun pertanyaan. Di sini, laman web.php fail digunakan untuk memasukkan tiga rekod ke dalam pelanggan meja dan ia terletak di laluan folder. Buka fail dan tambahkan laluan berikut untuk memasukkan rekod.

Laluan :: get ('insert', function ()
/ * Masukkan rekod pertama * /
DB :: table ('klien') -> masukkan (['name' => 'Md. ali ',
'e-mel' => '[dilindungi e-mel]',
'address' => '12 / 1, Dhanmondi, Dhaka ',
]);
/ * Masukkan rekod ke-2 * /
DB :: table ('klien') -> masukkan (['name' => 'Sharmin Jahan',
'e-mel' => '[dilindungi e-mel]',
'address' => '156, Mirpur, Dhaka',
]);
/ * Masukkan rekod ke-3 * /
DB :: table ('klien') -> masukkan (['name' => 'Mehrab Hossain',
'e-mel' => '[dilindungi e-mel]',
'address' => '34 / A, Mohammedpur, Dhaka ',
]);
/ * Cetak mesej * /
gema "

Tiga rekod pelanggan dimasukkan

);

Jalankan URL berikut di mana-mana penyemak imbas setelah memulakan pelayan pengembangan Laravel untuk memasukkan data ke dalam pelanggan meja.

http: // localhost: 8000 / sisipan

Mesej berikut akan muncul di penyemak imbas setelah memasukkan data. Anda boleh menyemak kandungan jadual dengan membukanya dari phpMyAdmin.

Baca Data dari Jadual Menggunakan Query Builder

Anda boleh menjalankan pelbagai jenis pertanyaan Pilih dengan menggunakan pembangun pertanyaan. Empat jenis rekod diambil menggunakan pembangun pertanyaan dalam fungsi laluan berikut. Fail pandangan bernama pelanggan.bilah.php digunakan di sini untuk menunjukkan data yang diambil dari jadual dan kod pandangan diberikan kemudian.

Laluan :: get ('show', function ()
/ * Dapatkan semua rekod jadual pelanggan * /
$ clientList1 = DB :: table ('client') -> get ();
/ * Dapatkan rekod pertama jadual pelanggan * /
$ clientList2 = DB :: table ('client') -> pertama ();
/ * Dapatkan rekod ketiga jadual pelanggan * /
$ clientList3 = DB :: table ('client') -> cari (3);
/ * Dapatkan semula nama pelanggan berdasarkan e-mel dari jadual pelanggan * /
$ clientList4 = DB :: table ('client') -> di mana ('email', '[email protected]') -> nilai ('name');
/ * Kembalikan nilai keempat pemboleh ubah tersebut ke dalam file view untuk menunjukkan data
Diperoleh dari jadual * /
paparan kembali ('client', ['clientList1' => $ clientList1, 'clientList2' => $ clientList2,
'clientList3' => $ clientList3, 'clientList4' => $ clientList4]);
);
pelanggan.bilah.php

Senarai semua pelanggan



@if (@isset ($ clientList1))






@foreach ($ clientList1 sebagai $ client1)





@endforeach
ID PelangganNamaAlamatE-mel
$ client1-> id$ client1-> nama$ client1-> alamat$ client1-> e-mel

@endif

@if (@isset ($ clientList2-> name))

Nama pelanggan pertama adalah $ clientList2-> name


@endif
@if (@isset ($ clientList3-> e-mel))

E-mel pelanggan ke-3 adalah $ clientList3-> e-mel


@endif
@if (@isset ($ clientList4))

Nama pelanggan berdasarkan e-mel adalah $ clientList4


@endif

Jalankan URL berikut di mana-mana penyemak imbas setelah memulakan pelayan pengembangan Laravel untuk membaca data dari pelanggan meja.

http: // localhost: 8000 / rancangan

Output berikut akan muncul di penyemak imbas setelah menjalankan URL. Kandungan dari $ clientList1 pemboleh ubah ditunjukkan dalam bentuk jadual dan output dari $ clientList2, $ clientList3 dan $ clientList4 ditunjukkan dalam sebaris.

Kemas kini Data Menggunakan Query Builder

Anda boleh mengemas kini satu atau beberapa medan berdasarkan satu atau beberapa keadaan menggunakan pembangun pertanyaan. Menurut fungsi laluan berikut, nilai dari nama bidang akan dikemas kini berdasarkan nilai e-mel bidang. Seterusnya, kandungan semua rekod di pelanggan jadual akan diambil dan dihantar ke fail paparan untuk memeriksa kandungan jadual yang dikemas kini.

Laluan :: get ('update', function ()
DB :: table ('client') -> di mana ('id', 1) -> kemas kini (['name' => 'Mohammed Ali']);
gema "
Nama pelanggan pertama dikemas kini
";
$ clientList1 = DB :: table ('client') -> get ();
paparan kembali ('client', ['clientList1' => $ clientList1]);
);

Jalankan URL berikut di mana-mana penyemak imbas setelah memulakan pelayan pengembangan Laravel untuk mengemas kini data pelanggan meja.

http: // localhost: 8000 / kemas kini

Output berikut akan muncul di penyemak imbas setelah menjalankan URL. Kandungan dari $ clientList1 pemboleh ubah ditunjukkan dalam bentuk jadual. Di sini, nilai nama medan dikemas kini dengan nilai baru.

Padam Data Menggunakan Pembangun Pertanyaan

Semua rekod atau rekod tertentu dapat dihapus menggunakan pembangun pertanyaan. Fungsi laluan berikut akan menghapus rekod ketiga di pelanggan jadual, ambil semua rekod selepas penghapusan, dan kembalikan nilai ke dalam fail paparan.

Laluan :: get ('delete', function ()
DB :: table ('client') -> di mana ('id', '=', 3) -> delete ();
gema "
Rekod ketiga dihapuskan
";
$ clientList1 = DB :: table ('client') -> get ();
paparan kembali ('client', ['clientList1' => $ clientList1]);
);

Jalankan URL berikut di mana-mana penyemak imbas setelah memulakan pelayan pengembangan Laravel untuk menghapus rekod dari pelanggan meja.

http: // localhost: 8000 / padam

Output berikut akan muncul di penyemak imbas setelah menjalankan URL. Kandungan dari $ clientList1 pemboleh ubah ditunjukkan dalam bentuk jadual. Di sini, rekod ketiga dipadamkan dari jadual.

Tutorial Video

Kesimpulannya

Kegunaan asas pembangun pertanyaan ditunjukkan dalam tutorial ini untuk membantu pembangun Laravel baru untuk lebih memahami kaedah untuk melaksanakan pertanyaan pangkalan data dalam aplikasi Laravel.

Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Sekiranya anda suka bermain permainan di Linux dengan gamepad dan bukannya sistem input papan kekunci dan tetikus biasa, ada beberapa aplikasi berguna...
Alat Berguna untuk Pemain Linux
Sekiranya anda suka bermain permainan di Linux, kemungkinan anda telah menggunakan aplikasi dan utiliti seperti Wine, Lutris dan OBS Studio untuk meni...
HD Remastered Games untuk Linux yang Tidak Pernah Melancarkan Linux Sebelumnya
Banyak pembangun dan penerbit permainan hadir dengan penghapus HD permainan lama untuk memperpanjang usia francais, harap peminat meminta keserasian d...