Apa itu eloquent, apa eloquent itu penting ?

Eloquent ORM yang disediakan best framework laravel, implementasi ActiveRecord sederhana untuk bekerja dengan database Anda. Setiap tabel database memiliki sesuai "Model" yang digunakan untuk berinteraksi dengan table. Model memungkinkan Anda untuk query data dalam tabel Anda, serta memasukkan catatan baru ke dalam tabel.
Ok, sekarang langsung saja, yang pertama yang harus anda lakukan adalah install eloquent, how to install, ow that is very easy, jika sebelumnya kamu belum mengetahui bagaimana cara install composer, kamu bisa pergi ke http://imlocora.org/article/apa-itu-composer-bagaimana-cara-installnya, Nah jika sudah maka langsung saja install packagenya. 
sekerang structur file dan folder yang kita butuhkan sangat lah simple, much like crud, tapi kita butuh model disini. buat folder di htdocs anda dengan nama orm, dan setelah itu cd ke folder orm tersebut, dengan cara memakai command line, jika htdocs kamu di dalam xampp kamu bisa ketikkan ini
C:\>cd /
C:\>cd xampp/htdocs/orm
C:\xampp\htdocs\orm>
Jika sudah maka anda bisa langsung install package eloquentnya dengan cara
composer require illuminate/database
Ketika itu suda selesai maka anda bisa langsung saja buat project nya ke text editor, karna saya memakai sublime text, maka saya akan ke sublime text, ok dan kita sudah memiliki vendor folder. ok setelah itu anda bisa langsung saja buat folder dengan melihat langkah langkah berikut.
  1. app/models/User.php
  2. /index.php
Untuk kali ini kita hanya akan mengimplementasikan bagaima cara kerja nya, sekarang buka index file yang kita akan require autoload direcktori, anda bisa lihat di vendor/autoload.php
Direcktory E-ORM
index file nya kita ketikkan
<?php 
 
require 'vendor/autoload.php';
Dan sekarang kita bisa implementasikan, sekarang anda bisa buat db dengan nama orm, dan cara membuat table nya sangat dengan eloquent. Tapi yang pertama yang harus anda lakukan adalah koneksi nya, dan di folder app anda bisa buat file baru dengan nama database.php, dan di database file anda bisa ketikkan apa apa yang harus anda ketik.
<?php 
 
use Illuminate\Database\Capsule\Manager as Capsule;
 
$capsule = new Capsule;
 
$capsule->addConnection([
'driver'    => 'mysql',
'host'      => 'localhost',
'database'  => 'orm',
'username'  => 'root',
'password'  => '',
'charset'   => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix'    => '',
]);
$capsule->bootEloquent();
$capsule->setAsGlobal();
Done, sekarang waktunya dump autoload pada composer.json, Tetapi sebelum itu anda harus pergi dulu ke index file, dan pastikan anda require juga file database nya.
<?php 
 
require 'vendor/autoload.php';
require 'app/database.php';
Dan jika sudah anda bisa check di browser, jika tidak ada error maka semua walking alright, nah sekarang anda bisa pergi ke app/models/User.php Dan beri class nya.
<?php 
 
class User extends Illuminate\Database\Eloquent\Model {
 
}
Dan sekarang jika anda buat di index file seperti ...
$user = new User;
Maka jika di lihat di browser error, class user notFound.
Error Eloquent
Untuk hal ini kita bisa ke file composer.json dan kita update beberapa line.
{
 
    "autoload": {
    "classmap": [
    "app/models"
    ]
    },
    "require": {
        "illuminate/database": "^5.0"
    }
}
Dan selanjutnya anda bisa ke command line, masih di direktori yang sama dan ketikkan
composer dump-autoload
Jika resultnya
Generating autoload files
Berarti telah selesai, dan sekarang jika anda refresh browsernya pasti gone errornya, ok sekarang tugas kita adalah membuat tablenya. Caranya pastikan kita hanya memakai eloquent itu sendiri, pada database file, anda bisa ketikkan tepat dibawah $capsule->bootEloquent();
$capsule->schema()->create('users'function($table)
{
$table->increments('id');
$table->string('email')->unique();
$table->string('firstname');
$table->string('lastname');
$table->timestamps();
});
Jika sudah selesai sekarang anda bisa refresh browser 1 x, jika 2 kali maka akan errors, errornya sudah pasti bilang, bahwa table already exists on database, maka dari itu setelah anda refresh anda di tuntut untuk menghapus atau mengcomentnya. Seperti
Nah jika sudah, anda bisa sekarang insert ke database beberapa data.
/*
$capsule->schema()->create('users'function($table)
{
$table->increments('id');
$table->string('email')->unique();
$table->string('firstname');
$table->string('lastname');
$table->timestamps();
});*/
Nah setelah itu anda good to go. dan sekarang pada index file anda bisa ketikkan code berikut.
User::create([
'email' => 'irsyad@imlocora.org',
'firstname' => 'Irsyad',
'lastname' => 'Panjaitan',
]);
Nah jika sudah pastinya error, atau pun tidak akan masuk ke database, oleh sebab itu di model User buat property baru seperti code dibawah, ini kita ditanya, apa apa yang ingin di masukkan ke database. kita ingin memasukkan semuanya kan, makanya kita protected semua dengan cara seperti dibawah pada User.php
protected $fillable = ['email''firstname''lastname', ];
Dan jika sudah, maka anda bisa refresh dan lihat what happend on the database, pastinya sudah masuk, dan coba robah datanya, karna kita butuh 3 users disini, saya akan menambah friend saya dulu.
User::create([ 'email' => 'iqbalMH@imlocora.org''firstname' => 'iqbal''lastname' =>'MH', ]);
Dan anda bisa tambah kan 1 orang lagi, dan jika sudah, anda bisa comment this code
/*User::create([
'email' => 'alex@codecourse.com',
'firstname' => 'Alex',
'lastname' => 'Garrett',
]);*/
Ok done, sekarang kita akan belajar bagaimana cara menampilkannya, ini sangat gampang, jika kita ingin menampilkan semuanya, maka kita bisa gunakan method all.
<?php 
 
require 'vendor/autoload.php';
require 'app/database.php';
 
$users = User::all();
$no = 1;
?>
 
<table class="table">
<thead>
<tr>
<td>#</td>
<td>Email</td>
<td>Firstname</td>
<td>Lastname</td>
</tr>
</thead>
<?php foreach ($users as $user): ?>
<tbody>
<tr>
<td><?$no ?></td>
<td><?$user->email ?></td>
<td><?$user->firstname ?></td>
<td><?$user->lastname ?></td>
</tr>
</tbody>
<?php $no++ ?>
<?php endforeach ?>
</table>
Nah itu dengan cara method all, maka outputnya akan seperti
#EmailFirstnameLastname
1irsyad@imlocora.orgIrsyadPanjaitan
2iqbalMH@imlocora.orgiqbalMH
3alex@codecourse.comAlexGarrett
Ok nah itu dengan method all, tapi jika anda menggunakan method latest->get mungkin akan berbeda tampilannya, anda bisa robal value dari variable usersnya
$users = User::latest()->get();
Jika kamu lihat berdasarkan table pastinya akan di index dari yang terakhir disimpan, ini seperti order by desc in sql functionality, ok. Jika kita lihat maka akan berbeda.
#EmailFirstnameLastname
1alex@codecourse.comAlexGarrett
2iqbalMH@imlocora.orgiqbalMH
3irsyad@imlocora.orgIrsyadPanjaitan
Ok sekarang waktunya kamu lihat beberapa documentasinya di laravel.com, dan click getting started pada eloquent, semoga tutorial ini bermanfaat untuk anda, saya irsyad thank you :)
Post A Comment
  • Blogger Comment using Blogger
  • Facebook Comment using Facebook
  • Disqus Comment using Disqus

No comments :