0
をスロー私はこのObjectModelを持っている:私はこのような新しいインスタンスを作成しようとするとPrestaShopの - オブジェクトモデルの作成が例外
<?php
class DnDPayment extends ObjectModel {
public $id_dnd_payments;
public $bank;
public $payer;
public $amount;
public $reference;
public $date_add;
public static $definition_array = array(
'table' => 'dnd_payments',
'primary' => 'id_dnd_payments',
'multilang' => false,
'fields' => array(
'bank' => array('type' => self::TYPE_STRING, required => true),
'payer' => array('type' => self::TYPE_STRING, required => true),
'amount' => array('type' => self::TYPE_STRING, required => true),
'reference' => array('type' => self::TYPE_STRING, required => true),
'date_add' => array('type' => self::TYPE_STRING, required => true)
)
);
public static function savePayment($bank, $payer, $amount, $reference) {
$logger = new FileLogger(0);
$logger->setFilename(_PS_ROOT_DIR_ . "/log/debug.log");
$logger->logDebug($bank . ' :: ' . $payer . ' :: ' . $amount);
Db::getInstance()->insert('dnd_payments', array(
'bank' => $bank,
'payer' => $payer,
'amount' => $amount,
'reference' => $reference,
'date_add' => date('Y-m-d H:i:s')
));
}
}
:new DnDPayments();
を、私はこの例外は私の顔に投げます:
を[message:protected] => DnDPaymentクラスに対して無効な識別子またはテーブルフォーマット
これはテーブルを作成するために使用するSQLコードです:
CREATE TABLE IF NOT EXISTS `PREFIX_dnd_payments` (
`id_dnd_payments` int(11) NOT NULL AUTO_INCREMENT,
`bank` varchar(128) NOT NULL,
`payer` varchar(128) NOT NULL,
`amount` decimal(15,3) NOT NULL,
`reference` varchar(128) NOT NULL,
`date_add` datetime NOT NULL,
PRIMARY KEY (`id_dnd_payments`)
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
ここで間違っていますか?