我有一个transactions
表,其中的事务类型会变形为TopUpTransaction
,DeductTransaction
等,其中包含其特定信息(因为它们具有不同的字段)。
现在我有一个SecurityDeposit
不需要专用模型的事务类型,因为它不需要任何额外的信息。
我可以通过拥有一个模型和一个只保留字段的数据库表来使其与默认变形一起使用id
,但这没有意义。
有没有办法绕过创建一个空模型和数据库表?
class Transaction extends Model {
public function transactionable(): MorphTo
{
return $this->morphTo();
}
public function text()
{
return $this->transactionable->text()
}
public function class()
{
return $this->transactionable->class()
}
}
class TopUpTransaction extends Model {
public function text() {
return "Top Up"
}
public function class() {
return "text-success"
}
}
class DeductTransaction extends Model {
// has text() and class() methods
}
但是,我不想在数据库中创建 SecurityDepositTransaction 因为它不需要任何其他信息
class SecurityDepositTransaction {
public function text() {
return "Security Deposit"
}
public function class() {
return "text-danger"
}
}