问题描述
我有一个 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"
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)