laravel

Tutorial ORM Laravel Fasih

Tutorial ORM Laravel Fasih
Eloquent ORM (Object Relation Mapper) mudah digunakan bagi pengguna yang tahu cara menggunakan objek di PHP. ORM adalah fitur penting dari kerangka Laravel, dianggap sebagai fitur yang kuat dan mahal dari Laravel. ORM bekerja dengan objek database dan digunakan untuk membuat hubungan dengan tabel database. Setiap tabel database dipetakan dengan model fasih tertentu. Objek model berisi berbagai metode untuk mengambil dan memperbarui data dari tabel database. ORM yang fasih dapat digunakan dengan banyak database dengan mengimplementasikan ActiveMethod. Fitur ini membuat tugas terkait database, seperti mendefinisikan hubungan, menjadi lebih sederhana dengan mendefinisikan tabel database database. Tutorial ini menjelaskan cara menerapkan Laravel Eloquent ORM di proyek Laravel Anda.

Prasyarat

Sebelum memulai tutorial ini, Anda harus melakukan tugas-tugas berikut:

  1. Instal salinan baru dari proyek Laravel
  2. Buat koneksi database

Buat Tabel

Untuk menyelesaikan langkah-langkah tutorial, Anda harus membuat dua tabel di database. Ini adalah tabel pabrikan dan tabel produk. Hubungan antara dua tabel ini akan menjadi satu ke banyak, masing-masing. Jalankan perintah berikut untuk membuat file migrasi untuk membuat struktur produsen meja.

$ php artisan make:migration create_manufacturer_table

Buka file migrasi dari basis data\migrasi folder dan ubah naik() metode dengan kode berikut. Tabel akan berisi enam bidang: ID, nama, alamat, telepon, create_at, dan updated_at.

fungsi publik ke atas()

Schema::create('manufacturers', function (Blueprint $table)
$tabel->id();
$tabel->string('nama')->unik();
$tabel->teks('alamat');
$table->string('telepon');
$tabel->stempel waktu();
);

Jalankan perintah berikut untuk membuat file migrasi untuk membuat struktur produk meja.

$ php artisan make:migration create_product_table

Buka file migrasi dari basis data\migrasi folder dan ubah naik() metode dengan kode berikut. Tabel akan berisi tujuh bidang: ID, nama, harga, manufacturer_id, create_at, dan updated_at. Di sini, manufacturing_id adalah kunci asing untuk produk meja.

fungsi publik ke atas()

Schema::create('products', function (Blueprint $table)
$tabel->id();
$tabel->string('nama')->unik();
$tabel->desimal('harga', 10, 2);
$table->bigInteger('manufacturer_id')->unsigned();
$table->foreign('manufacturer_id')->references('id')->on('manufacturers');
$tabel->stempel waktu();
);

Jalankan perintah migrasi berikut untuk membuat tabel di database.

$ php artisan bermigrasi

Buat Model

Anda juga harus membuat dua model, bernama Pabrikan dan Produk, untuk tabel yang dibuat sebelumnya. Jalankan perintah berikut untuk membuat Pabrikan model.

$ php artisan make:model Produsen

Buka model dari aplikasi folder dan ubah kode dengan kode berikut:. $bisa diisi digunakan untuk mendefinisikan bidang wajib dari pembuatan meja. Itu produk() metode yang digunakan untuk mengatur tipe relasi dengan produk meja.

Aplikasi ruang nama;
gunakan Illuminate\Database\Eloquent\Model;
kelas Produsen memperluas Model

dilindungi $dapat diisi = [
'nama', 'alamat', 'telepon',
];
produk fungsi publik()

return $this->hasMany('App\Product');

Jalankan perintah berikut untuk membuat Produk model.

Buka model dari aplikasi folder dan ubah kode dengan kode berikut:. $bisa diisi digunakan untuk mendefinisikan bidang wajib dari produk meja. Itu produsen() metode yang digunakan untuk mengatur tipe relasi dengan manufaktur meja.

$ php artisan make:model Produk
Aplikasi ruang nama;
gunakan Illuminate\Database\Eloquent\Model;
kelas Produk memperluas Model

dilindungi $dapat diisi = [
'nama', 'harga','produsen_id'
];
produsen fungsi publik()

return $this->belongsTo('App\Manufacturer');

Buat Pengendali

Jalankan perintah berikut untuk membuat ManuController Manu dan Pengontrol Produk.

$ php artisan make:controller ManuController
$ php artisan make:controller ProductController

Operasi CRUD menggunakan Eloquent ORM

Operasi CRUD ditunjukkan di bawah ini dengan terlebih dahulu menambahkan metode ke dua pengontrol ini.

Memasukkan Data

Tabel Produsen

Tambahkan Pabrikan model di atas ManuController Manu. Selanjutnya, tambahkan kode berikut di dalam ManuController Manu model untuk memasukkan dua catatan ke dalam manufaktur meja.

fungsi publik buat_data()

Pabrikan::buat([
'nama' => 'Perdagangan ABC',
'alamat' => '34, Mirpur, Dhaka',
'telepon' => '01878562323'
]);
Pabrikan::buat([
'name' => 'Rahim Afroze',
'alamat' => '123, Dhanmondi, Dhaka',
'telepon' => '01878562900'
]);
echo "Data pabrikan dimasukkan";

Tambahkan rute berikut di rute\web.php file untuk mengeksekusi buat_data() metode.

Route::get('manu', '[email protected]_data');

Output berikut akan muncul setelah memasukkan URL di bawah ini di browser.

http://localhost:8000/manu

Tabel Produk

Tambahkan Produk model di atas Pengontrol Produk. Selanjutnya, tambahkan kode berikut di dalam Pengontrol Produk untuk memasukkan tiga catatan ke dalam produk meja.

indeks fungsi publik()

Produk::buat([
'name' => 'TV 32 Inci',
'harga' => 10000,
'produsen_id' => 1
]);
Produk::buat([
'name' => 'Kulkas Walton',
'harga' => 20000,
'produsen_id' => 1
]);
Produk::buat([
'nama' => 'IPS 7832',
'harga' => 25000,
'produsen_id' => 2
]);
echo "Data produk dimasukkan";

Tambahkan rute berikut di rute\web.php file untuk mengeksekusi indeks() metode.

Rute::get('produk', '[dilindungi email]');

Output berikut akan muncul setelah memasukkan URL di bawah ini di browser.

http://localhost:8000/produk

Pilih Data

Tambahkan metode berikut di dalam ManuController Manu untuk mengambil semua catatan dari pembuatans tabel dan catatan terkait dari produk meja.

fungsi publik pilih_data()

$manufacturers= Pabrikan::semua();
foreach ($produsen sebagai $manu)
$produk= Produk::where('manufacturer_id', $manu->id)->get();
gema "Pabrikan: $manu->nama
";
foreach ($produk sebagai $pro)

gema "

Nama Produk:$pro->nama

";
gema "

Harga Produk:$pro->harga


";


Tambahkan rute berikut di rute\web.php file untuk mengeksekusi pilih_data() metode.

Route::get('product_detail', '[email protected]_data');

Output berikut akan muncul setelah memasukkan URL di bawah ini di browser.

http://localhost:8000/product_detail

Perbaharui data

Tambahkan metode berikut di dalam ManuController Manu untuk memperbarui catatan produk tabel yang berisi Indo nilai 2.

fungsi publik update_data()

$produk= Produk::temukan(2);
echo "Detail produk sebelum update:
";
gema "

Nama Produk:$produk->nama

";
gema "

Harga Produk:$produk->harga


";
$produk->nama = 'Walton Blender';
$produk->harga = 1000;
$produk->simpan();
echo "Detail produk setelah pembaruan:
";
gema "

Nama Produk:$produk->nama

";
gema "

Harga Produk:$produk->harga


";

Tambahkan rute berikut di rute\web.php file untuk mengeksekusi perbaharui data() metode.

Route::get('update_data', '[email protected]_data');

Output berikut akan muncul setelah memasukkan URL di bawah ini di browser.

http://localhost:8000/update_data

Hapus Data

Tambahkan metode berikut di dalam ManuController Manu untuk menghapus beberapa catatan dari produk tabel dan satu catatan dari produsen meja.

fungsi publik delete_data()
//Hapus banyak data
Produk::hancurkan([1, 2]);
//Hapus satu data
Pabrikan::hancurkan(1);
echo "Data dihapus.";

Tambahkan rute berikut di rute\web.php file untuk mengeksekusi hapus_data() metode.

Rute::get('delete_data', '[email protected]_data');

Output berikut akan muncul setelah memasukkan URL di bawah ini di browser.

http://localhost:8000/delete_data

Video tutorial

Kesimpulan

Tutorial ini menunjukkan cara membuat hubungan antar tabel dan cara mengimplementasikan operasi CRUD menggunakan Eloquent ORM. Bahkan pengguna Laravel baru akan dapat memahami beberapa penggunaan dasar Eloquent OPM setelah membaca tutorial ini.

Cara Menginstal League Of Legends di Ubuntu 14.04
Jika Anda adalah penggemar League of Legends, maka ini adalah kesempatan bagi Anda untuk menguji coba League of Legends. Perhatikan bahwa LOL didukung...
Instal Game Strategi OpenRA terbaru di Ubuntu Linux
OpenRA adalah mesin game Strategi Waktu Nyata Libre/Gratis yang membuat ulang game Westwood awal seperti Command & Conquer klasik: Red Alert. Mod yang...
Instal Dolphin Emulator terbaru untuk Gamecube & Wii di Linux
Dolphin Emulator memungkinkan Anda memainkan game Gamecube & Wii pilihan Anda di Komputer Pribadi (PC) Linux. Menjadi emulator game sumber terbuka da...