Skip to main content

Menampilkan Data di Index

Mengambil Daftar Kolom Pada Table

  1. Buka file test pada lokasi tests/Unit/ModelTest.php.
  2. Pada baris 15 ubah model yang ingin mau di lihat daftar kolomnya.
    $model = new Kpt840();
  3. Setelah di edit maka, eksekusi perintah.
    php artisan test --filter test_getTableSpec
  4. Maka di terminal akan tampil daftar kolom pada tabel yang berelasi pada model tersebut. Alt text

Menampilkan Kolom Ke Index

  1. Setelah daftar kolom diketahui, maka copas daftar tersebut ke variable $hiddenOnList.
    protected array $hiddenOnList = [
    'id',
    'created',
    'creator_id',
    'updated',
    'updater_id',
    'deleted',
    'deleter_id',
    // "no_surat_pemberitahuan",
    // "tgl_surat_pemberitahuan",
    'kpt443a_id',
    ];
  2. Bisa dilihat ada beberapa kolom yang di comment. Artinya kolom tersebut akan tampil pada index.
  3. Adapun jika ingin menampilkan kolom yang tidak ada pada tabel, serta ingin mengubah nama label kolom tersebut bise meng-override addAdditionalFieldSpec.
    public function addAdditionalFieldSpec(): array
    {
    return [
    BaseSpec::createInstanceFromArray([
    'label' => 'No. Surat',
    'name' => 'no_surat_pemberitahuan',
    'sortable' => true,
    ]),
    BaseSpec::createInstanceFromArray([
    'label' => 'Tgl. Surat',
    'name' => 'tgl_surat_pemberitahuan',
    'sortable' => true,
    ]),
    BaseSpec::createInstanceFromArray([
    'label' => 'No. Sprindap',
    'name' => 'kpt443a_number',
    'sortable' => true,
    ]),
    ];
    }

Menampilkan Kolom Yang Bukan Dari Database.

  1. Bisa dilihat pada Menampilkan Kolom Ke Index, kolom kpt443a_number bukanlah kolom pada table kpt840a.
  2. Sehingga kita butuh mangakomodir nilai ke kolom tersebut dengan membuat sebuah attribute pada model.
    protected function kpt443aNumber(): Attribute
    {
    return Attribute::make(fn () => $this->kpt443a?->kpt443a_number);
    }
  3. Serta jangan lupa meng-appends attribute tersebut agar muncul ke api.
    protected $appends = [
    'kpt443a_number',
    ];

Memanipulasi Data JSON

  1. Pada kasus khusus, terdapat data yang ingin di tampilkan perlu di olah kembali.

  2. Untuk mengolah data yang ingin di tampilkan bisa menggunakan props customCell pada komponen TableLowcode.

  3. Berikut contoh pengimplementasian customCell.

    customCell={({ name, value, defaultCell }) => {
    if (name === "status_badge") {
    return <Status {...value} />;
    }

    return defaultCell;
    }}