ruang.work

Membuat Separator pada Command Table Console Laravel

  • Avatar for Ilham Nuruddin Al Huda
Ilham Nuruddin Al Huda
•

6 min read

Berbagi untuk Belajar

Di artikel ini, kita akan membahas bagaimana cara membuat separator pada command table console di Laravel.

go to Langkah-langkah section

Langkah-langkah

go to Import Class Table dan TableSeparator section

Import Class Table dan TableSeparator

Pertama, kita perlu mengimport class Table dan TableSeparator dari package Symfony\Component\Console\Helper pada file command kita.

use Symfony\Component\Console\Helper\Table;
use Symfony\Component\Console\Helper\TableSeparator;
go to Ambil Data dari Database section

Ambil Data dari Database

Selanjutnya, kita ambil data dari database yang ingin ditampilkan dalam bentuk tabel. Dalam contoh ini, kita akan menggunakan fungsi select pada model Content dan mengambil kolom title dari setiap baris.

$contents = Content::select('title')->get()->toArray();
go to Inisialisasi Object Table section

Inisialisasi Object Table

Setelah data berhasil diambil, langkah selanjutnya adalah inisialisasi object Table dan set headers pada tabel.

$table = new Table($this->output);
$table->setHeaders(['title']);
go to Looping Data dan Tambahkan Separator section

Looping Data dan Tambahkan Separator

Kemudian, kita lakukan looping untuk setiap data dan menambahkannya pada tabel. Di sini kita menggunakan conditional statement if untuk menambahkan TableSeparator pada setiap baris kecuali pada baris terakhir.

$lastIndex = count($contents) - 1;
foreach ($contents as $index => $content) {
$table->addRow([$content['title']]);
if ($index != $lastIndex) {
$table->addRow(new TableSeparator());
}
}
go to Render Tabel section

Render Tabel

Langkah terakhir adalah menampilkan tabel ke dalam console dengan menggunakan method render().

$table->render();

Maka, jika semua kode di implementasikan akan menjadi,

$contents = Content::select('title')->get()->toArray();
$table = new Table($this->output);
$table->setHeaders(['title']);
$lastIndex = count($contents) - 1;
foreach ($contents as $index => $content) {
$table->addRow([$content['title']]);
if ($index != $lastIndex) {
$table->addRow(new TableSeparator());
}
}
$table->render();
go to Preview section

Preview

Terminal window
+-------------------------------------------------------------------------------------+
| title |
+-------------------------------------------------------------------------------------+
| Mastering Laravel Zero: A Beginner's Guide to Building Command-Line Applications |
+-------------------------------------------------------------------------------------+
| Laravel Zero: The Game-Changing Framework for Effortless Command-Line Development |
+-------------------------------------------------------------------------------------+
| Take Command with Laravel Zero: A Step-by-Step Tutorial for Building Powerful CLIs |
+-------------------------------------------------------------------------------------+
| The Magic of Laravel Zero: How to Build High-Performance Command-Line Applications |
+-------------------------------------------------------------------------------------+
| The Ultimate Guide to Laravel Zero: From Zero to Hero in Command-Line Development |
+-------------------------------------------------------------------------------------+
go to Kesimpulan section

Kesimpulan

Dalam artikel ini, kita telah membahas bagaimana cara membuat separator pada command table console di Laravel. Dengan menambahkan TableSeparator pada setiap baris, kita bisa menampilkan data dalam bentuk tabel yang lebih mudah dibaca dan terstruktur. Semoga artikel ini bermanfaat dan dapat membantu dalam pengembangan aplikasi Laravel Anda.