Php 扩展Zend_Db_Table_Row_Abstract的类
我们正在使用Zend框架构建一个在线支付系统,我们试图设计它,以使添加新的支付系统更加容易。目前,我们有一个贝宝的实现,但也许我们想添加其他供应商以后也 我们有一个扩展Zend_Db_Table_Row_Abstract的支付对象和一个扩展Zend_Db_Table_Abstract的支付对象。付款对象现在的行中有特定于PayPal的数据,我们希望将其移动到不同的特定于PayPal的表中。这使我们能够在付款表中获得付款的一般数据,在另一个表中获得付款提供商的特定数据 现在我们尝试制作一个PayPalPayment类扩展Payment和一个PayPalPayments类扩展Zend_Db_Table_抽象。PayPalPayment指的是我们的新数据库表和新对象PayPalPayment。我们现在要做的是:Php 扩展Zend_Db_Table_Row_Abstract的类,php,zend-framework,frameworks,zend-db,zend-db-table,Php,Zend Framework,Frameworks,Zend Db,Zend Db Table,我们正在使用Zend框架构建一个在线支付系统,我们试图设计它,以使添加新的支付系统更加容易。目前,我们有一个贝宝的实现,但也许我们想添加其他供应商以后也 我们有一个扩展Zend_Db_Table_Row_Abstract的支付对象和一个扩展Zend_Db_Table_Abstract的支付对象。付款对象现在的行中有特定于PayPal的数据,我们希望将其移动到不同的特定于PayPal的表中。这使我们能够在付款表中获得付款的一般数据,在另一个表中获得付款提供商的特定数据 现在我们尝试制作一个PayP
$ppp = new PayPalPayments();
$p = $ppp->createRow();
//set a paypal specific property. setToken is defined in PayPalPayment
$p->setToken('lol');
//set a Payment general property. setStatus is defined in Payment
$p->setStatus('paid');
//write to database
$p->save();
但是,我们无法实现这一点,因为createRow只返回PayPalPayment表中包含列的行。因此,这将产生错误:
Specified column "pay_status" is not in the row
在Zend框架文档中找到了一些关于关系的东西,但这并不是我们真正想要做的。以前有人试过这个吗
问候,,
Lars您是否在
类PayPalPayments
中声明默认的$\u rowClass='PayPalPayment'
?是的。问题是,如果我们这样做:$p=新发工资支付()$付款=$p->createRow();$payment不识别Payments表中的列,只识别新paypal_Payments表中的列。因此,当我们试图从payments表中为属性设置一个值时,会出现列不在行中的错误。