我在mysql中设计了3个表,CreditCardPayment,WireTransfer。支付表有列payment_mode,它存储使用的支付方式(信用卡或贝宝)。在CreditCardPayment & WireTransfer中,我从支付表中存储支付id。
现在如何使用支付模式(信用卡或贝宝表中的详细信息)从付款表获取所有付款?
发布于 2018-06-10 12:11:04
您必须做多态关系支付实体和其他实体(CreditCardPayment,WireTransfer)。
在添加以下列时添加用于支付的迁移:
在Payment.php (实体)中,您应该添加以下函数:
public function paymentable() {
return $this->morphTo();
}
在CreditCardPayment.php,您应该添加以下函数:
public function payments(){
return $this->morphMany(Payment::class, 'paymentable');
}
在WireTransfer.php,您应该添加以下函数:
public function payments(){
return $this->morphMany(Payment::class, 'paymentable');
}
注:“支付”方法中的“支付”是您的支付实体类。
https://stackoverflow.com/questions/50783486
复制相似问题