php - 模型中的 Yii2 Getter Setter
问题描述
我有一个模型,BukuBank.php
然后通常用于BukuBankSearch
. 这个模型与另一个模型有很多关系。这是模型
<?php
class BukuBank extends ActiveRecord {
public static function tableName() {
return 'buku_bank';
}
private $customer; // for AR, not taken from db
private $tipe; // for AR, not taken from db
private $bank; // for AR, not taken from db
private $tanggalTransaksi; // for AR, not taken from db
private $referensi; // for AR, not taken from db
private $debit; // for AR, not taken from db
/**
* @return mixed
*/
public function getCustomer() {
switch ($this) {
case $this->isFromBuktiPenerimaanInvoiceOrDebitNote :
$this->customer = $this->buktiPenerimaan->customer->nama;
break;
case $this->isFromBuktiPenerimaanOther :
$this->customer = $this->buktiPenerimaanOther->customer->nama;
break;
case $this->isFromBuktiPenerimaanPelunasanOutstanding :
$this->customer = $this->buktiPenerimaanPelunasanOutstanding->customer->nama;
break;
default:
break;
}
return $this->customer;
}
/**
* @return mixed
*/
public function getTipe() {
switch ($this) {
case $this->isFromBuktiPenerimaanInvoiceOrDebitNote :
$this->tipe = 'Bukti Penerimaan Invoice | DN';
break;
case $this->isFromBuktiPenerimaanOther :
$this->tipe = 'Bukti Penerimaan Other';
break;
case $this->isFromBuktiPenerimaanPelunasanOutstanding :
$this->tipe = 'Bukti Penerimaan Pelunasan Outstanding';
break;
default:
break;
}
return $this->tipe;
}
/**
* @return mixed
*/
public function getBank() {
switch ($this) {
case $this->isFromBuktiPenerimaanInvoiceOrDebitNote :
$this->bank = $this->buktiPenerimaan->bankDetail->bank->alias;
break;
case $this->isFromBuktiPenerimaanOther :
$this->bank = $this->buktiPenerimaanOther->bankDetail->bank->alias;
break;
case $this->isFromBuktiPenerimaanPelunasanOutstanding :
$this->bank = $this->buktiPenerimaanPelunasanOutstanding->bankDetail->bank->alias;
break;
default:
break;
}
return $this->bank;
}
/**
* @return mixed
*/
public function getTanggalTransaksi() {
switch ($this) {
case $this->isFromBuktiPenerimaanInvoiceOrDebitNote :
$this->tanggalTransaksi = $this->buktiPenerimaan->tanggal_setor;
break;
case $this->isFromBuktiPenerimaanOther :
$this->tanggalTransaksi = $this->buktiPenerimaanOther->tanggal_setor;
break;
case $this->isFromBuktiPenerimaanPelunasanOutstanding :
$this->tanggalTransaksi = $this->buktiPenerimaanPelunasanOutstanding->tanggal_setor;
break;
default:
break;
}
return $this->tanggalTransaksi;
}
/**
* @return mixed
*/
public function getReferensi() {
switch ($this) {
case $this->isFromBuktiPenerimaanInvoiceOrDebitNote :
$this->referensi = $this->buktiPenerimaan->nomor_surat;
break;
case $this->isFromBuktiPenerimaanOther :
$this->referensi = $this->buktiPenerimaanOther->nomor_surat;
break;
case $this->isFromBuktiPenerimaanPelunasanOutstanding :
$this->referensi = $this->buktiPenerimaanPelunasanOutstanding->nomor_surat;
break;
default:
break;
}
return $this->referensi;
}
/**
* @return mixed
*/
public function getDebit() {
switch ($this) {
case $this->isFromBuktiPenerimaanInvoiceOrDebitNote :
$this->debit = $this->buktiPenerimaan->jumlah_setor;
break;
case $this->isFromBuktiPenerimaanOther :
$this->debit = $this->buktiPenerimaanOther->jumlah_setor;
break;
case $this->isFromBuktiPenerimaanPelunasanOutstanding :
$this->debit = $this->buktiPenerimaanPelunasanOutstanding->jumlah_setor;
break;
default:
break;
}
return $this->debit;
}
}
如您所见,我对关系进行了很多变量检查。这是否意味着 getter 总是查询这些字段本身的选择?
你有什么建议……?任何帮助它如此apprciated。
解决方案
推荐阅读
- frontend - 为什么
在 Nuxt.js 中覆盖我的 css? - java - javaFx如何传递拖动事件?
- c# - 查找 IEnumerable 的第一个索引
- java - 在 JDialog 可见时执行 SQL 语句?
- python - Python Rock - Paper - Scissors Game
- firefox - 在 mediaRecorder.start(timeslice) 中接受时间片的特征检测
- javascript - 根据外部ID在javascript中对数组进行排序
- rest - REST:哪个 HTTP 状态用于拒绝当前资源状态的方法
- dafny - 在 Dafny 中创建范围为 n 的数组的最佳方法?
- r - 带有计数的堆叠条形图中 geom_text 的百分比