Ads 970x90

List Labels

iklan banner

Newsletter

Eloquent Laravel - Mysql Laravel Multiple Insert

Post a Comment
Tutorial Laravel #20 : Eloquent Laravel - Malas Ngoding



Eloquent Laravel – Halo teman-teman semua, selamat ada kembali di bimbingan laravel adab indonesia terlengkap. dari malasngoding.com.
Seperti yang sudah abdi singgung lebih dahulu pada bimbingan Membuat CRUD dengan Laravel, saya akan mempelajari sebuah karakteristik keren dari laravel, adalah Eloquent.
Sesuai dengan judul bimbingan laravel ini, Kita akan berguru tentang Eloquent Laravel. jadi akan dijelaskan secara jelas tentang pengertian Eloquent laravel, aturan menggunakan eloquent laravel, dan saya juga akan berguru melahirkan CRUD dengan Eloquent laravel.
Tentu untuk bimbingan Membuat CRUD dengan Eloquent laravel ini akan saya bahas pada bimbingan selanjutnya.
Agar bahan berguru Laravel saya terstruktur dan berurutan. sehingga memudahkan teman-teman untuk belajar laravel.

Eloquent Laravel

Pada bimbingan ini saya cuma akan berkenalan dengan eloquent, dan berguru aturan aplikasi eloquent laravel. Pada bimbingan selanjutnya aktual saya akan masuk ke aturan melahirkan CRUD dengan eloquent laravel atau eloquent orm.
Oke saya mulai dari pengertian eloquent laravel.

Pengertian Eloquent Laravel

Seperti yang dijelaskan pada dokumentasi laravel, Eloquent ialah sebuah karakteristik untuk mengelola data yang ada pada database dengan amat mudah. Eloquent ORM menyediakan fungsi-fungsi active record, atau fungsi-sungsi query sql untuk mengelola data pada database.
Dan fungsi query nya semua sudah dibuat dan disediakan secara default dalam laravel. jadi saya tak perlu berulang mengetik query sql yang panjang-panjang.
Simpel nya gini, jadi dengan Eloquent, saya bisa mengelola data yang ada pada database dari cuma ahad buah model. misalnya saya kepunyaan table siswa, maka saya juga akan mempunyai sebuah model dengan nama siswa, ambillah dengan model siswa ini saya bisa mengelola data-data yang ada pada tabel siswa dengan mudah dan cepat.
Kita bisa menginput data, mengedit, menampilkan, mengupdate, bahkan saya juga bisa menggunakan perhubungan tabel dengan amat mudah!.
Struktur pencatatan coding nya pun amat singkat.
Jika secara manual pada PHP native, jika saya ingin mengakses atau memajukan data dari table siswa, biasanya saya menggunakan query “select * from siswa” kan?
Nah, jika saya menggunakan eloquent laravel, saya cukup mendefinisikan nama modelnya, akan datang saya bisa langsung menggunakan fungsi all() untuk mengambil semua data pada table siswa. jadinya codingan saya amat pendek, agak bisa mempertegangkan tenaga untuk ngetik panjang-panjang :D.
Nah, berbatas di aku mudah-mudahan teman-teman sudah bisa mengamankan pengertian eloquent orm ini. intinya eloquent ialah karakteristik bantuan yang disediakan oleh laravel untuk memudahkan saya mengelola data yang ada pada database.

Persiapan

Pastikan teman-teman sudah ada database, dan sudah melakukan konfigurasi database pada file .env nya.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=belajar_laravel
DB_USERNAME=root
DB_PASSWORD=root
Silahkan sesuaikan dengan konfigurasi database teman-teman, di aku abdi sudah ada sebuah database dengan nama belajar_laravel.
Kemudian sebagai contoh saya akan melahirkan sebuah table data dan sebuah model yang akan meng-handle table ini.
Misalnya sebagai contoh di aku saya akan melahirkan sebuah table untuk meyimpan data pegawai. jadi saya buat dahulu model pegawai nya.
Untuk melahirkan model pada laravel, saya bisa membuatnya secara manual atau saya juga bisa menggunakan aba-aba php artisan.
Untuk melahirkan model menggunakan php artisan, silahkan buka terminal atau cmd, akan datang masuk ke direktori project laravelnya, dan ketik aba-aba berikut.
php artisan make:model Pegawai
atau jika teman-teman ingin mengadakan file migration untuk table/model pegawai ini teman-teman bisa menulis aba-aba berikut.
php artisan make:model Pegawai -m
atau
php artisan make:model Pegawai --migration
Tutorial migration sudah saya bahas pada bimbingan sebelumnya, silahkan teman-teman baca pada bimbingan Migration Laravel sebelumnya.
membuat model dan migration laravel
membuat model dan migration laravel
Perhatikan pada gambar di atas, saya mendiktekan untuk melahirkan model dengan nama “Pegawai”. tapi kenapa file migration yang dibuat namanya “create_pegawais_table” ??
Ini akibat secara otomatis laravel melaksanakan sistem plural atau jamak. dengan adab inggris tentunya. jadi pada detik saya melahirkan model dengan nama pegawai, laravel berpendapat nama table yang akan saya buat ialah pegawais.
Jika saya melahirkan model dengan nama member, maka laravel akan berpendapat table nya ialah members.
Jika saya melahirkan model dengan nama barang, maka laravel berpendapat table nya ialah barangs.
Jika saya melahirkan model dengan nama admin, maka laravel berpendapat table nya ialah admins.
Tidak masalah, laravel cuma ingin memudahkan saya dalam penamaan, saya bisa mengatasi bab ini nantinya jika saya tak ingin menggunakan beragam dari laravel. saya skip saja dulu. akan saya bahas nanti pada bagian model.
Sekarang saya selesaikan bagian migration saja dulu.
Buka file migration create_pegawais_table nya tadi, file migration yang lain boleh teman-teman hapus saja dulu, biar tak pusing.
Kemudian tambahkan kolum-kolum yang ingin saya buat pada table pegawai. caranya sudah dijelaskan pada bimbingan lebih dahulu tentang migration laravel. akibat ini cuma contoh, abdi akan menambahkan kolum id, nama dan bakat saja.
belajar_laravel/database/migrations/2019_01_07_061805_create_pegawais_table
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePegawaisTable extends Migration

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
   
        Schema::create('pegawai', function (Blueprint $table)
            $table->increments('id');
            $table->string('nama');
            $table->text('alamat');
            $table->timestamps();
        );
   
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
   
        Schema::dropIfExists('pegawai');
   
Perhatikan pada file migration di atas, akibat saya akan melahirkan table “pegawai”, bukan “pegawais”, jadi saya ubah menjadi “pegawai”.
migration eloquent
migration eloquent
Kemudian migrate dengan mengetikkan aba-aba berikut.
php artisan migrate
php artisan migrate
Oke kini sudah berjaya migration, dan amat-amati database belajar_laravel. saya sudah kepunyaan table pegawai sekarang, sesuai dengan yang saya buat pada file migration pegawai.
membuat table dengan migration
membuat table dengan migration

Cara Penggunaan Eloquent Laravel

Sampai babak ini saya sudah siap untuk menggunakan Eloquent laravel.
Di aku saya jika dasar nya saja dulu, pada bimbingan selanjutnya aktual saya akan masuk ke babak yang bertambah komplek dengan langsung berguru melahirkan CRUD dengan eloquent.
Kita akan berikhtiar memajukan data dari database dengan dengan menggunakan karakteristik eloquent laravel.
Karena saya akan berikhtiar memajukan data dari table pegawai, saya perlu beberapa data testing pada table pegawai. abdi akan berikhtiar menginput data dummy ke table pegawai dengan menggunakan karakteristik seeding laravel.
Fitur seeding laravel juga sudah dibahas sebelumnya. silahkan teman-teman baca berulang tutorial seeding dan faker pada laravel.
Karena agak capek dan menyita tempo jika saya menginput data ke table pegawainya secara manual. jadi saya gunakan saja karakteristik yang sudah ada di laravel. 🙂

Menginput data dummy dengan Faker & Seeding Laravel

Buat class seeding nya lebih-lebih dulu, di aku abdi melahirkan class seeding dengan nama PegawaiSeeder.
php artisan make:seed PegawaiSeeder
Maka akan dibuatkan sebuah file seeder dalam belajar_laravel/database/seeds.
Buka file PegawaiSeeder.php nya dan terapkan Faker di dalamnya.
belajar_laravel/database/seeds/PegawaiSeeder.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
use Illuminate\Database\Seeder;
use Faker\Factory as Faker;
class PegawaiSeeder extends Seeder

    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
   
        // data faker indonesia
        $faker = Faker::create('id_ID');
        // melahirkan data dummy sebanyak 10 record
        for($x = 1; $x <= 10; $x++)
         // insert data dummy pegawai dengan faker
         DB::table('pegawai')->insert([
         'nama' => $faker->name,
         'alamat' => $faker->address,
         ]);
       
   
Syntax di arah sudah pernah abdi bentang pada bimbingan Seeding & Faker pada laravel.
Silahkan teman-teman baca berulang bimbingan tentang seeding dan faker pada laravel.
Dan jalankan seeder nya dengan aba-aba php artisan.
php artisan db:seed --class=PegawaiSeeder
membuat data dummy dengan seeding dan faker
membuat data dummy dengan seeding dan faker
dan kini saya sudah kepunyaan data dummy untuk berikhtiar karakteristik eloquent nantinya.
menampilkan data dengan eloquent
menampilkan data dengan eloquent

Eloquent Laravel

Setelah saya kepunyaan data untuk berikhtiar karakteristik Eloquent Laravel, kini buka berulang file model Pegawai.php.Seperti yang abdi bentang sebelumnya, laravel melaksanakan sistem beragam atau am pada penjulukan model dan table. maka saya set dahulu nama table yang akan di handle oleh model Pegawai.php. akibat secara default laravel berpendapat table yang di handle oleh model Pegawai.php ialah table pegawais. sedangkan nama table saya ialah pegawai.
Jadi saya bisa melakukan pengaturan pada model Pegawai.php dengan menambahkan perintah
protected $table = "pegawai";
agar model Pegawai.php men-handle table pegawai, bukan pegawais.
belajar_laravel/app/Pegawai.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Pegawai extends Model

    protected $table = "pegawai";
kemudian buat route untuk memajukan data pegawai dengan eloquent.
belajar_laravel/routes/web.php
<?php
Route::get('/', function ()
    return view('welcome');
);
di aku saya melahirkan pengaturan detik route ‘/pegawai’ diakses, maka akan dijalankan method index pada PegawaiController.php.
Buat controller dengan nama PegawaiController.php menggunakan php artisan.
php artisan make:controller PegawaiController
Kemudian pada PegawaiController.php, ketik aba-aba berikut.
belajar_laravel/app/Http/controllers/PegawaiController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
// memanggil menyeru model pegawai
use App\Pegawai;
class PegawaiController extends Controller

    public function index()
   
     // mengambil data pegawai
     $pegawai = Pegawai::all();
     // mengalihtugaskan data pegawai ke view pegawai
     return view('pegawai', ['pegawai' => $pegawai]);
   
perhatikan pada controller pegawai di atas, pertama pada bagian luar class saya memanggil menyeru model Pegawai. sesuai dengan letak model yang terwalak dalam folder app.
kemudian pada method atau function index (sesuai dengan yang saya buat pada route) saya menggunakan karakteristik eloquent dengan mengambil data dari table pegawai cuma dengan fungsi all().
dan terakhir saya passing datanya ke view pegawai.
Buat sebuah view aktual dengan nama pegawai.blade.php.
belajar_laravel/resources/views/pegawai.blade.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html>
<head>
<title>Tutorial Laravel #20 : Eloquent Laravel</title>
</head>
<body>
<h1>Data Pegawai</h1>
<h3>www.malasngoding.com</h3>
<ul>
@foreach($pegawai as $p)
<li> "Nama : ". $p->nama . '</li>
@endforeach
</ul>
</body>
</html>
Pada view pegawai.blade.php, saya tangkap data yang dikirim dari controller dan saya tampilkan dengan menggunakan foreach.
<ul>
@foreach($pegawai as $p)
<li> "Nama : ". $p->nama . '</li>
@endforeach
</ul>
Oke beres teman-teman.
Coba teman-teman jalankan.
dan akses
localhost:8000/pegawai
Maka hasilnya akan bagai berikut.
Eloquent Laravel
Eloquent Laravel

Berkenalan Lebih Dalam Dengan Eloquent

Jika lebih dahulu saya telah berjaya memajukan semua data yang ada pada table pegawai, kini saya akan berkenalan sedikit bertambah antara dengan beberapa fungsi eloquent yang bisa teman-teman gunakan dikemudian hari pada detik membangun aplikasi atau sistem informasi.
Eloquent telah menyediakan beberapa fungsi lainnya bagai menyeleksi data berdasarkan ID data, memajukan record data yang pertama, meyeleksi data yang bertambah spesifik (WHERE), dan masih berjibun lagi.

Mendapatkan Data Record Yang Pertama ( first () )

Pada method index(), jika teman-teman gunakan fungsi first(). bagai contoh berikut.
public function index()
// mengambil data pegawai yang pertama
$pegawai = Pegawai::first();
// mengalihtugaskan data pegawai ke view pegawai
return view('pegawai', ['pegawai' => $pegawai]);
Maka yang tampil ialah data pegawai yang pertama.

Mendapatkan Data Berdasarkan ID ( find() )

Untuk menyeleksi data pegawai berdasarkan id, saya bisa menggunakan fungsi find().
Perhatikan contoh berikut.
public function index()
// mengambil data pegawai yang id nya 1
$pegawai = Pegawai::find(1);
// mengalihtugaskan data pegawai ke view pegawai
return view('pegawai', ['pegawai' => $pegawai]);
Di dalam parameter fungsi find() teman-teman bisa memadatkan id pegawai yang ingin ditampilkan.
Pada contoh di atas, saya melakukan biji 1, berarti yang ditampilkan ialah data pegawai Raisa Suci Hartati.

Seleksi Data dengan ( where() )

Butuh Query yang bertambah spesifik lagi?
Kita bisa gunakan fungsi where. misalnya saya ingin menyeleksi data pegawai yang bernama Jamal Uwais, maka querynya bagai berikut.
public function index()
// mengambil data pegawai yang bernama Jamal Uwais
$pegawai = Pegawai::where('nama', 'Jamal Uwais')->get();
// mengalihtugaskan data pegawai ke view pegawai
return view('pegawai', ['pegawai' => $pegawai]);
Atau
// mengambil data pegawai yang bernama Jamal Uwais
$pegawai = Pegawai::where('nama', '=' , 'Jamal Uwais')->get();
Ada berjibun yang bisa saya terapkan fungsi where() ini, di antaranya jika teman-teman ingin menampikan data pegawai yang id nya bertambah besar dari 10, teman-teman bisa menulisnya bagai berikut.
// mengambil data pegawai yang id nya bertambah besar dari 10
$pegawai = Pegawai::where('id', '>' , 10)->get();
jika ingin bertambah besar sama dengan 10,
// mengambil data pegawai yang id nya bertambah besar sama dengan 10
$pegawai = Pegawai::where('id', '>=' , 10)->get();
Jika ingin memajukan data pegawai yang id nya bertambah kecil dari, bisa menggunakan tanda “<“.
Sangat simpel.
Jika ingin melahirkan pencarian data, misalnya ingin memajukan semua data pegawai yang ada huruf a nya, maka penulisannya bagai berikut.
// mengambil data pegawai yang di namanya ada huruf a
$pegawai = Pegawai::where('nama', 'like' , '%a%')->get();

Membuat Pagination

Jika teman-teman ingin melahirkan pagination,
Teman-teman bisa gunakan fungsi paginate(). dan isi paremeternya dengan betapa besaran record data yang ingin ditampilkan perhalaman.
// memajukan 10 data pegawai per halaman
$pegawai = Pegawai::paginate(10);
Selanjutnya untuk melahirkan link penomoran paginationnya, baca di sini.
Masih ada berjibun sekali kelebihan saya menggunakan Eloquent laravel. ini cuma contoh kecilnya saja. ini cuma contoh aturan aplikasi Eloquent Laravel.
Bahkan saya juga bisa langsung melaksanakan perhubungan table bagai misalnya Many to Many atau One to Many dan lain-lain. akan saya bahas pada bimbingan laravel selanjutnya.
Sekian dahulu teman-teman bimbingan Eloquent Laravel. berbatas bertemu di bimbingan Eloquent laravel selanjutnya.

Incoming search terms:

  • cara melahirkan model
  • laravel model
  • eloquent laravel adalah
  • apa itu eloquent laravel
  • laravel eloquent get
  • cara melahirkan query di laravel
  • kegunaan eloquent
  • eloquent laravel indonesia
  • apa eloquent laravel
  • array wherein laravel

Sekian detil perihal Tutorial Laravel #20 : Eloquent Laravel - Malas Ngoding semoga info ini bermanfaat salam
Artikel ini diposting pada tag , tanggal 25-08-2019, di kutip dari https://www.malasngoding.com/eloquent-laravel/

Related Posts

Post a Comment