() translation by (you can also view the original English article)
Illuminate adalah mesin database Laravel, minus Laravel. Ini dilengkapi dengan ORM Eloquent di Laravel. Jika Anda ingin membuat aplikasi PHP Anda dengan ORM dan memilih untuk tidak menggunakan Laravel, tutorial ini untuk Anda.
Dalam tutorial ini, kita akan membangun back end untuk Applikasi T&J dengan PHP, Database Illuminate, dan ORM Eloquent.
Dependensi Proyek
- PHP: 5.5+
- MYSQL
- Composer
Kemampuan Aplikasi
Aplikasi kita akan melakukan sepuluh tugas:
- Menambahkan seorang pengguna.
- Menambahkan sebuah pertanyaan.
- Menambahkan jawaban untuk sebuah pertanyaan.
- Upvote sebuah jawaban.
- Mendapatkan sebuah pertanyaan dengan jawaban.
- Mendapatkan semua pertanyaan dan pengguna yang menanyakannya.
- Mendapatkan pertanyaan, jawaban, dan upvote tertentu.
- Menghitung pertanyaan oleh pengguna tertentu.
- Memperbarui jawaban oleh pengguna.
- Menghapus sebuah pertanyaan.
Pertama, kita membuat direktori dan struktur proyek kita.
Dalam direktori proyek utama, kita akan membuat sebuah folder aplikasi, dan kemudian di folder aplikasi ini, kita akan membuat dua folder: model dan controller. Dalam gambar ini, folder proyek utama kita diberi nama eloquent. Anda bisa menggantinya dengan nama apapun yang Anda inginkan.



Selanjutnya, kita membuat file index.php di folder proyek utama, pada tingkat yang sama seperti folder aplikasi.
Kita akan menggunakan git, jadi kita membuat file .gitignore. Perhatikan bahwa langkah ini bersifat opsional.
Selanjutnya, kita memasang dependensi yang dibutuhkan agar proyek ini bisa berjalan. Di folder proyek utama, kita akan membuat file composer.json.
1 |
{ |
2 |
“name”: “illuminate-example/eloquent”, |
3 |
“description”: “Implementation of Database Queries with illuminate and Eloquent”, |
4 |
“type”: “project”, |
5 |
“require”: {} |
6 |
} |
Untuk menginstal database Illuminate, kita menambahkan ini ke composer.json kita:“illuminate/database”: “5.1.8”,
.
Selanjutnya, tambahkan psr-4 autoloading untuk Model dan controller kita:
1 |
“autoload”: { |
2 |
“psr-4”: { |
3 |
“Controllers\\”: “app/controllers/”, |
4 |
“Models\\”: “app/models/” } |
5 |
} |
Sekarang, file composer.json kita akan terlihat seperti ini:
1 |
{ |
2 |
“name”: “illuminate-example/eloquent”, |
3 |
“description”: “Implementation of Database Queries with illuminate and Eloquent”, |
4 |
“type”: “project”, |
5 |
“require”: { |
6 |
“illuminate/database”: “5.1.8”}, |
7 |
“autoload”: |
8 |
{“psr-4”: |
9 |
{ “Controllers\\”: “app/controllers/”, |
10 |
“Models\\”: “app/models/" |
11 |
|
12 |
} |
13 |
} |
14 |
} |
Kita sekarang akan menjalankan dua perintah composer ini di lokasi yang sama dengan file composer.json kita:
1 |
composer install
|
2 |
composer dump-autoload -o
|
Ini akan menghasilkan folder vendor yang bisa kita tambahkan ke gitignore (ini juga merupakan langkah opsional).
Mari menambahkan file konfigurasi untuk kredensial database kita.
Dalam direktori proyek utama, kita membuat sebuah file bernama config.php dan mendefinisikan rincian DB dalam file Config.php. Perhatikan bahwa nilainya harus diganti dengan rincian koneksi Anda sendiri.
1 |
<?php
|
2 |
|
3 |
defined(“DBDRIVER”)or define(‘DBDRIVER’,’mysql’); |
4 |
defined(“DBHOST”)or define(‘DBHOST’,’localhost’); |
5 |
defined(“DBNAME”)or define(‘DBNAME’,’eloquent-app’); |
6 |
defined(“DBUSER”)or define(‘DBUSER’,’root’); |
7 |
defined(“DBPASS”)or define(‘DBPASS’,’pass’); |
Selanjutnya, kita membuat skema untuk aplikasi kita.
Satu hal yang perlu diperhatikan sebelum kita membuat skema untuk tabel dalam database kita adalah kita bisa menambahkan timestamp ke dalam skema kita.
ORM Eloquent mengharapkan dua kolom timestamp jika kita ingin mengaktifkan operasi timestamp pada tabel/model tertentu. Mereka adalah kolom created_at
dan updated_at
. Jika kita mengaktifkan timestamp untuk sebuah model, Eloquent secara otomatis memperbarui field ini dengan waktu saat kita membuat atau memperbarui sebuah record.
Ada kolom ketiga yang disebut deleted_at
. Timestamp deleted_at
bekerja secara berbeda, sungguh. Eloquent memiliki kemampuan penghapusan lembut yang menggunakan kolom deleted_at
untuk menentukan apakah sebuah record telah dihapus. Jika Anda menghapus sebuah record dengan fungsi 'delete' dari eloquent dan Anda mengaktifkan Soft Delete, kolom akan diperbarui dengan waktu penghapusan. Item yang dihapus ini kemudian dapat diambil kapan saja.
Di aplikasi ini, kita akan memanfaatkan timestamp, jadi kita akan menggunakan ketiganya dalam pembuatan Skema kita.
Membuat tabel dengan perintah berikut di MySQL:
Pertanyaan
1 |
CREATE TABLE `questions` ( |
2 |
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, |
3 |
`question` tinytext, |
4 |
`user_id` int(11) DEFAULT NULL, |
5 |
`created_at` timestamp NULL DEFAULT NULL, |
6 |
`updated_at` timestamp NULL DEFAULT NULL, |
7 |
`deleted_at` timestamp NULL DEFAULT NULL, |
8 |
PRIMARY KEY (`id`) |
9 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Jawaban
1 |
CREATE TABLE `answers` ( |
2 |
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, |
3 |
`answer` tinytext, |
4 |
`user_id` int(11) DEFAULT NULL, |
5 |
`question_id` int(11) DEFAULT NULL, |
6 |
`created_at` timestamp NULL DEFAULT NULL, |
7 |
`updated_at` timestamp NULL DEFAULT NULL, |
8 |
`deleted_at` timestamp NULL DEFAULT NULL, |
9 |
PRIMARY KEY (`id`) |
10 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Upvote
1 |
CREATE TABLE `upvotes` ( |
2 |
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, |
3 |
`answer_id` int(11) DEFAULT NULL, |
4 |
`user_id` int(11) DEFAULT NULL, |
5 |
`created_at` timestamp NULL DEFAULT NULL, |
6 |
`updated_at` timestamp NULL DEFAULT NULL, |
7 |
`deleted_at` timestamp NULL DEFAULT NULL, |
8 |
PRIMARY KEY (`id`) |
9 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Pengguna
1 |
CREATE TABLE `users` ( |
2 |
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, |
3 |
`username` varchar(100) DEFAULT NULL, |
4 |
`email` varchar(200) DEFAULT NULL, |
5 |
`password` varchar(200) DEFAULT NULL, |
6 |
`created_at` timestamp NULL DEFAULT NULL, |
7 |
`updated_at` timestamp NULL DEFAULT NULL, |
8 |
`deleted_at` timestamp NULL DEFAULT NULL, |
9 |
PRIMARY KEY (`id`) |
10 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Kita akan melanjutkan dengan membuat file untuk model dan controller untuk tabel kita di lokasi berikut:
- project_folder/app/models/question.php
- project_folder/app/models/answer.php
- project_folder/app/models/upvote.php
- project_folder/app/models/user.php
- project_folder/app/models/database.php
- project_folder/app/controllers/questions.php
- project_folder/app/controllers/answers.php
- project_folder/app/controllers/upvotes.php
- project_folder/app/controllers/users.php
Buka models/database.php dengan editor.
Pertama kita membuat Capsule:
1 |
<?php
|
2 |
|
3 |
namespace Models; |
4 |
use Illuminate\Database\Capsule\Manager as Capsule; |
5 |
|
6 |
class Database { |
7 |
|
8 |
function __construct() { |
9 |
$capsule = new Capsule; |
10 |
$capsule->addConnection([ |
11 |
‘driver’ => DBDRIVER, |
12 |
‘host’ => DBHOST, |
13 |
‘database’ => DBNAME, |
14 |
‘username’ => DBUSER, |
15 |
‘password’ => DBPASS, |
16 |
‘charset’ => ‘utf8’, |
17 |
‘collation’ => ‘utf8_unicode_ci’, |
18 |
‘prefix’ => ‘’, |
19 |
]);
|
20 |
// Setup the Eloquent ORM…
|
21 |
$capsule->bootEloquent(); |
22 |
}
|
23 |
|
24 |
}
|
Pada file di atas, kita menginisialisasi dan mengatur kapsul dengan konstanta yang didefinisikan di config.php, dan kemudian kita boot eloquent.
Langkah selanjutnya adalah membuat skrip start. Ini akan menjadi file dimana segala sesuatu yang harus dijalankan sebelum aplikasi kita berjalan.
Kita membuat file start di lokasi project_folder/start.php, dan kemudian di file-nya, require file autoload Composer:
require ‘vendor/autoload.php’;
Setelah itu, kita require config.php untuk mendapatkan kredensial yang didefinisikan: require 'config.php';
Kemudian kita menginisialisasi kelas database.
1 |
<?php
|
2 |
|
3 |
use Models\Database; |
4 |
|
5 |
//Boot Database Connection
|
6 |
new Database(); |
Start.php Anda akan terlihat seperti ini:
1 |
<?php
|
2 |
require ‘config.php’; |
3 |
require ‘vendor/autoload.php’; |
4 |
use Models\Database; |
5 |
//Initialize Illuminate Database Connection
|
6 |
new Database(); |
7 |
?>
|
Include start.php di index.php Anda karena ini akan menjadi file utama kita.
File index.php kita sekarang terlihat seperti ini:
1 |
<?php
|
2 |
require ‘start.php’; |
3 |
?>
|
Selanjutnya, kita bisa mulai mengerjakan controller dan model kita. Di project_folder/app/models/question.php, kita tambahkan ini:
1 |
<?php
|
2 |
|
3 |
namespace Models; |
4 |
|
5 |
use \Illuminate\Database\Eloquent\Model; |
6 |
|
7 |
class Question extends Model { |
8 |
|
9 |
protected $table = ‘questions’; |
10 |
|
11 |
}
|
12 |
|
13 |
?>
|
Kemudian di project_folder/app/controllers/questions.php:
1 |
<?php
|
2 |
namespace Controllers; |
3 |
|
4 |
class Questions{ |
5 |
|
6 |
}
|
7 |
|
8 |
?>
|
Di project_folder/app/controllers/answers.php, kita melakukan hal yang sama:
1 |
<?php
|
2 |
namespace Controllers; |
3 |
|
4 |
class Answers{ |
5 |
|
6 |
}
|
7 |
?>
|
Tugas 1: Menambahkan Seorang Pengguna
Dalam model pengguna (project_folder/app/models/user.php), kita menambahkan kode berikut untuk menentukan namespace kita, memperpanjang Model Eloquent, dan menentukan nama tabel (protected $table
) dan field apa di tabel dapat diisi dengan penciptaan massal (protected $fillable
).
1 |
<?php
|
2 |
namespace Models; |
3 |
use \Illuminate\Database\Eloquent\Model; |
4 |
|
5 |
class User extends Model { |
6 |
protected $table = ‘users’; |
7 |
protected $fillable = [‘username’,’email’,’pass’]; |
8 |
}
|
9 |
?>
|
Di controller pengguna (project_folder/app/controllers/user.php), kita mendefinisikan namespace dan kelas kita seperti biasa:
1 |
<?php
|
2 |
namespace Controllers; |
3 |
|
4 |
class Users{ |
5 |
|
6 |
}
|
7 |
?>
|
Kemudian untuk membuat pengguna, di controller pengguna, kita mengimpor namespace Model pengguna, use Models\User;
, lalu menambahkan fungsi untuk membuat pengguna.
1 |
<?php
|
2 |
|
3 |
public static function create_user($username, $email, $password){ |
4 |
$user = User::create(['username'=>$username,'email'=>$email,'password'=>$password]); |
5 |
return $user; |
6 |
}
|
Controller pengguna kita sekarang terlihat seperti ini.
1 |
<?php
|
2 |
|
3 |
namespace Controllers; |
4 |
use Models\User; |
5 |
|
6 |
class Users { |
7 |
|
8 |
public static function create_user($username, $email, $password){ |
9 |
$user = User::create(['username'=>$username,'email'=>$email,'password'=>$password]); |
10 |
return $user; |
11 |
}
|
12 |
}
|
13 |
?>
|
Kemudian di index.php kita menambahkan baris ini dan menjalankan aplikasi untuk membuat user baru.
1 |
<?php
|
2 |
|
3 |
use Controllers\Users; |
4 |
|
5 |
// Import user controller
|
6 |
$user = Users::create_user(“user1”,”user1@example.com”,”user1_pass”); |
Tugas 2: Menambahkan sebuah Pertanyaan
Untuk menambahkan sebuah pertanyaan, kita mengimpor namespace model Question dalam controller pertanyaan, dan menulis fungsi create_question
:
use Models\Question;
Kemudian:
1 |
<?php
|
2 |
|
3 |
public static function create_question($question,$user_id){ |
4 |
|
5 |
$question = Question::create(['question'=>$question,'user_id'=>$user_id]); |
6 |
return $question; |
7 |
}
|
Kita telah menggunakan model penciptaan massal Eloquent untuk menyisipkan record ini, tapi sebelum itu bekerja, kita perlu mengizinkan field tersebut menjadi bisa diisi, karena model Eloquent melindungi penciptaan massal secara default.
Jadi, kita pergi ke model question
dan menambahkan properti protected $fillable
ke kelas.
protected $fillable = ['question','user_id'];
Untuk menjalankan ini, impor controller pertanyaan di index.php dan panggil fungsi create_question
secara statis:
use Controllers\Question;
Kemudian buat pertanyaan dengan pertanyaan dan User Id sebagai parameter:
$question = Questions::create_question("Have you ever met your doppelganger?",1);
Ini mengembalikan objek model jika berhasil.
Sekarang kita akan menjalankan skrip index.php dengan masukan yang berbeda untuk menambahkan lebih banyak pertanyaan ke database.
Tugas 3: Menambahkan Jawaban untuk Sebuah Pertanyaan
Pada model jawaban, kita mengulangi langkah-langkah yang diambil untuk model pertanyaan dan pengguna dengan menambahkan kode di bawah ini:
1 |
<?php
|
2 |
namespace Models; |
3 |
use \Illuminate\Database\Eloquent\Model; |
4 |
|
5 |
class Answer extends Model { |
6 |
|
7 |
protected $table = ‘answers’; |
8 |
protected $fillable = [‘answer’,’user_id’,’question_id’]; |
9 |
|
10 |
}
|
11 |
?>
|
Kemudian di controller jawaban, kita menulis baris ini:
1 |
<?php
|
2 |
|
3 |
namespace Controllers; |
4 |
use Models\Answer; |
5 |
|
6 |
|
7 |
class Answers { |
8 |
|
9 |
public static function add_answer($answer,$question_id,$user_id){ |
10 |
$answer = Answer::create(['answer'=>$answer,'question_id'=>$question_id,'user_id'=>$user_id]);return $answer; |
11 |
}
|
12 |
}
|
13 |
|
14 |
?>
|
Kemudian di index.php, kita bisa membuat jawaban untuk pertanyaan dengan id 1 yang kita tambahkan tadi, dengan id user 2. Jangan lupa untuk mengimpor controller jawaban ke index.php terlebih dahulu.
1 |
<?php
|
2 |
|
3 |
use Controllers\Answers; |
4 |
|
5 |
$answers = Answers::add_answer(“This is an answer”,1,2); |
Untuk mencegah banyak entri, komentari semua panggilan lainnya di index.php sebelum menjalankan yang baru.
Tugas 4: Upvote sebuah Jawaban
Ini adalah langkah yang hampir sama dengan yang kita gunakan.
Jadi kita akan menyalinnya ke model Upvote di project_folder/app/models/upvote.php.
1 |
<?php
|
2 |
namespace Models; |
3 |
|
4 |
use \Illuminate\Database\Eloquent\Model; |
5 |
|
6 |
|
7 |
class Upvote extends Model { |
8 |
|
9 |
protected $table = 'upvotes'; |
10 |
protected $fillable = ['answer_id','user_id']; |
11 |
|
12 |
}
|
13 |
?>
|
Kemudian dalam controller jawaban, kita mengimpor namespace Model Upvote.
use Models\Upvote;
Kemudian kita membuat fungsi upvote_answer
.
1 |
<?php
|
2 |
|
3 |
public static function upvote_answer($answer_id,$user_id){ |
4 |
$upvote = Upvote::create(['answer_id'=>$answer_id,'user_id'=>$user_id]); |
5 |
return $upvote; |
6 |
}
|
Di index.php, kita bisa memanggil fungsi tersebut dengan ID User dummy untuk upvote jawaban dengan id 1.
$upvote = Answers::upvote_answer(1,14);
Tugas 5: Mendapatkan sebuah Pertanyaan dengan Jawaban
Untuk tugas seperti ini, kita bisa menggunakan relasi dari Eloquent.
Jenis relasi mencakup one to one, one to many, many to many, dll.
Bila menggunakan relasi ini, Eloquent mengasumsikan sebuah foreign key dalam bentuk modelname_id ada pada model. Untuk tugas ini, relasinya adalah relasi one-to-many karena satu pertanyaan bisa memiliki sejumlah jawaban.
Pertama, kita mendefinisikan relasi ini dengan menambahkan fungsi ini ke model pertanyaan kita.
1 |
<?php
|
2 |
|
3 |
public function answers() |
4 |
{
|
5 |
return $this->hasMany('\Models\Answer'); |
6 |
}
|
Kemudian pada controller pertanyaan, kita menulis sebuah fungsi untuk mendapatkan pertanyaan dengan jawaban.
1 |
<?php
|
2 |
|
3 |
public static function get_questions_with_answers(){ |
4 |
|
5 |
$questions = Question::with('answers')->get()->toArray(); |
6 |
return $questions; |
7 |
}
|
Ini mengambil pertanyaan dengan jawaban yang sesuai.
Di index.php, kita mengomentari semua panggilan dan menjalankannya:
$all = Questions::get_questions_with_answers();
Kita bisa var_dump
atau print_r
variabel $all
untuk melihat hasilnya.
Tugas 6: Mendapatkan Semua Pertanyaan dan Pengguna yang Menanyakannya
Ini adalah relasi one to one karena satu pertanyaan memiliki satu pengguna, jadi kita menambahkannya ke model pertanyaan.
1 |
<?php
|
2 |
|
3 |
public function user() |
4 |
{
|
5 |
return $this->belongsTo(‘\Models\User’); |
6 |
}
|
Kemudian kita membuat fungsi dalam controller pertanyaan dan menggunakan fungsi with
pada model pertanyaan.
1 |
<?php
|
2 |
|
3 |
public static function get_questions_with_users(){ |
4 |
|
5 |
$questions = Question::with('user')->get()->toArray(); |
6 |
return $questions; |
7 |
}
|
Di index.php, komentari semua yang lain dan jalankan ini:
$all_with_users = Questions::get_questions_with_users();
Tugas 7: Mendapatkan sebuah Pertanyaan dengan Jawaban dan Upvote
Pertama, kita mendefinisikan relasi antara jawaban dan upvote. Sebuah jawaban memiliki banyak upvote, jadi relasinya one to many.
Jadi, kita menambahkan fungsi berikut ke model jawaban kita:
1 |
<?php
|
2 |
|
3 |
public function upvotes() |
4 |
{
|
5 |
return $this->hasMany('\Models\Upvote'); |
6 |
}
|
Kemudian pada controller pertanyaan, kita membuat fungsi untuk mendapatkan ini:
1 |
<?php
|
2 |
|
3 |
public static function get_question_answers_upvotes($question_id){ |
4 |
|
5 |
$questions = Question::find($question_id)->answers()->with('upvotes')->get()->toArray(); |
6 |
return $questions; |
7 |
}
|
Seperti pada langkah sebelumnya, kita mengomentari semua panggilan lainnya ke index.php dan menjalankan ini:
$one_question = Questions::get_question_answers_upvotes(1);
Kita bisa mencetak variabel $one_question
untuk melihat hasilnya.
Tugas 8: Menghitung Pertanyaan oleh Pengguna Tertentu
Pertama, kita mengimpor model pertanyaan di controller pengguna:
use Models\Question;
Kemudian kita menulis fungsi ini:
1 |
<?php
|
2 |
|
3 |
public static function question_count($user_id){ |
4 |
|
5 |
$count = Question::where('user_id',$user_id)->count(); |
6 |
return $count; |
7 |
}
|
Di index.php, kita memberi komentar pada panggilan lainnya dan menambahkan baris ini:
$user_question_count = Users::question_count(1);
Ini mengembalikan integer yang merupakan jumlah pertanyaan yang telah ditambahkan oleh pengguna dengan id 1.
Kita dapat mencetak variabel $user_question_count
dan menjalankan index.php untuk melihat hasilnya.
Tugas 9: Memperbarui Jawaban oleh Pengguna
Konsep pembaruan dengan ORM Eloquent cukup sederhana. Pertama kita cari sebuah record, lalu kita bermutasi dan menyimpan.
Sekarang, dalam controller jawaban, kita menambahkan fungsi ini:
1 |
<?php
|
2 |
|
3 |
public static function update_answer($answer_id,$new_answer){ |
4 |
$answer = Answer::find($answer_id); |
5 |
$answer->answer = $new_answer; |
6 |
$updated = $answer->save(); |
7 |
return $updated; |
8 |
}
|
Di index.php, kita bisa mengomentari semua panggilan lainnya, dan memperbarui jawaban dengan id 1 seperti ini:
$update_answer = Answers::update_answer(1,”This is an updated answer”);
Ini mengembalikan nilai boolean—true—jika pembaruan berhasil.
Tugas 10: Menghapus sebuah Pertanyaan (Soft Delete)
Dalam tugas akhir ini, kita akan menerapkan SoftDelete Eloquent.
Pertama, kita memberi tahu model pertanyaan untuk menggunakan SoftDeletes
dengan mengimpor namespace SoftDeletes
, dan kemudian menggunakan sifat SoftDeletes
di kelas kita.
use Illuminate\Database\Eloquent\SoftDeletes;
Kemudian setelah baris deklarasi kelas, kita menambahkan baris ini:
use SoftDeletes;
Kemudian kita menambahkan deleted_at
ke properti protected $dates
untuk model tersebut. Ini adalah langkah yang diperlukan.
protected $dates = [‘deleted_at’];
Model pertanyaan kita sekarang terlihat seperti ini:
1 |
<?php
|
2 |
namespace Models; |
3 |
use \Illuminate\Database\Eloquent\Model; |
4 |
use Illuminate\Database\Eloquent\SoftDeletes; |
5 |
class Question extends Model { |
6 |
|
7 |
use SoftDeletes; |
8 |
protected $table = 'questions'; |
9 |
protected $fillable = ['question','user_id']; |
10 |
|
11 |
|
12 |
public function answers() |
13 |
{
|
14 |
return $this->hasMany('\Models\Answer'); |
15 |
}
|
16 |
|
17 |
|
18 |
public function user() |
19 |
{
|
20 |
return $this->belongsTo('\Models\User'); |
21 |
}
|
22 |
|
23 |
}
|
24 |
|
25 |
?>
|
Kemudian kita membuat fungsi delete_question
pada controller pertanyaan.
1 |
<?php
|
2 |
|
3 |
public static function delete_question($question_id){ |
4 |
|
5 |
$question = Question::find($question_id); |
6 |
$deleted = $question->delete(); |
7 |
return $deleted; |
8 |
|
9 |
}
|
Jalankan di index.php:
$delete = Questions::delete_question(1);
Selamat! Anda baru saja membangun back end yang berfungsi penuh dengan Illuminate dan Eloquent. Dan kita tidak perlu menulis begitu banyak kode untuk mencapai semua ini.
Kode untuk tutorial ini dapat ditemukan di GitHub.
Kesimpulan
Illuminate juga dilengkapi dengan Query Builder yang dapat Anda gunakan untuk kueri database yang lebih kompleks dan pasti sesuatu yang ingin Anda coba dan gunakan di aplikasi Anda.
Satu-satunya yang hilang dalam Database Illuminate yang berdiri sendiri adalah migrasi database, yang merupakan fitur indah dari Laravel, dan Lumen, microframework oleh Laravel. Anda harus mempertimbangkan untuk menggunakan keduanya di aplikasi Anda untuk memanfaatkan fitur berguna yang menyertainya.
Anda dapat mengetahui lebih lanjut tentang Eloquent di Halaman Dokumentasi Resmi Eloquent.