Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 扩展Zend_Db_Table_Row_Abstract的类_Php_Zend Framework_Frameworks_Zend Db_Zend Db Table - Fatal编程技术网

Php 扩展Zend_Db_Table_Row_Abstract的类

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

我们正在使用Zend框架构建一个在线支付系统,我们试图设计它,以使添加新的支付系统更加容易。目前,我们有一个贝宝的实现,但也许我们想添加其他供应商以后也

我们有一个扩展Zend_Db_Table_Row_Abstract的支付对象和一个扩展Zend_Db_Table_Abstract的支付对象。付款对象现在的行中有特定于PayPal的数据,我们希望将其移动到不同的特定于PayPal的表中。这使我们能够在付款表中获得付款的一般数据,在另一个表中获得付款提供商的特定数据

现在我们尝试制作一个PayPalPayment类扩展Payment和一个PayPalPayments类扩展Zend_Db_Table_抽象。PayPalPayment指的是我们的新数据库表和新对象PayPalPayment。我们现在要做的是:

$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表中为属性设置一个值时,会出现列不在行中的错误。