Kumpulan perubahan yang udah numpuk di working tree: refactor Setup (Gate/Vehicle/Member), rapihin memberin & stiker, service parking baru (ParkingUtilsServices, NetworkService), model/migration lot-parking & DHCP reservation, dan fitur baru Intercom (controller/model/migration/ view). ReportTransaksiController versi lokal ini WIP (~90%, masih didebug) - versi yang bener ada di server, jadi dikeluarin dari git (ditambahin ke .gitignore) biar gak numpuk nindihin punya server pas git pull di sana. Sekalian keluarin dump mentah tabel softseting (1.8MB, nyasar ke-commit), file .bak, dan arsip ad-hoc (api.tgz, c.zip) yang emang bukan source code. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01EAJc2mrpj2cSTe4oowLPzQ
91 lines
2.0 KiB
PHP
91 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Origin;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo; // <-- tambahin ini
|
|
|
|
class MasterTarifStiker extends Model
|
|
{
|
|
/**
|
|
* Nama tabel di database.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $table = "tarif_stiker";
|
|
|
|
/**
|
|
* "tarif_id" dipakai sebagai identifier utama secara logis
|
|
* (kolom bigint not null, tidak ada PK asli di tabel ini).
|
|
* Karena belum pasti ini sequence auto-increment di DB,
|
|
* incrementing sengaja dimatikan. Ubah ke true kalau
|
|
* ternyata kolom ini memang identity/serial di database.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $primaryKey = "tarif_id";
|
|
|
|
/**
|
|
* @var bool
|
|
*/
|
|
public $incrementing = false;
|
|
|
|
/**
|
|
* Tipe data primary key.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $keyType = "integer";
|
|
|
|
/**
|
|
* Tabel ini tidak memiliki kolom created_at / updated_at.
|
|
*
|
|
* @var bool
|
|
*/
|
|
public $timestamps = false;
|
|
|
|
/**
|
|
* Kolom yang boleh diisi secara mass assignment.
|
|
*
|
|
* @var array<int, string>
|
|
*/
|
|
protected $fillable = [
|
|
"id_mobil",
|
|
"jenis_langganan",
|
|
"tarif",
|
|
"last_member",
|
|
"tgl_akhir",
|
|
"jenis",
|
|
"jenis_member",
|
|
"hitung_awal_bulan",
|
|
"tarif_id",
|
|
"available_online",
|
|
"langganan",
|
|
"kode_akses",
|
|
];
|
|
|
|
/**
|
|
* Casting tipe data kolom.
|
|
*
|
|
* @var array<string, string>
|
|
*/
|
|
protected $casts = [
|
|
"tarif" => "float",
|
|
"hitung_awal_bulan" => "integer",
|
|
"tarif_id" => "integer",
|
|
"available_online" => "boolean",
|
|
];
|
|
|
|
/**
|
|
* Relasi ke stasiunkerja.
|
|
* tarif_stiker.langganan = stasiunkerja.kode
|
|
*
|
|
* @return BelongsTo
|
|
*/
|
|
public function stasiunKerja(): BelongsTo
|
|
{
|
|
return $this->belongsTo(MasterStasiunKerja::class, "langganan", "kode");
|
|
}
|
|
}
|