如何使用prestashop 1.6中的模块将数据插入数据库

时间:2016-01-28 04:48:59

标签: prestashop prestashop-1.6

我尝试在数据库中插入数据,但是任何人都可以帮助我!

function saveDate()
{
    if(Tools::getIsset('savedate'))
    {
        $value1 = Tools::getValue('value1');
        $value2 = Tools::getValue('value2');
        $res = Db::getInstance()->insert('ps_customer',array(
            'lastname'       => $value1, 
            'firstname'      => $value2,
        ));
        if($res)
            return $this->displayConfirmation($this->l('Date saved'));
        else
            return $this->displayError($this->l('Error occured while saving date'));
    }
}

1 个答案:

答案 0 :(得分:0)

您的查询无效,因为您未提供创建客户对象所需的所有字段。

以下是客户对象的定义:

/**
 * @see ObjectModel::$definition
 */
public static $definition = array(
    'table' => 'customer',
    'primary' => 'id_customer',
    'fields' => array(
        'secure_key' =>                array('type' => self::TYPE_STRING, 'validate' => 'isMd5', 'copy_post' => false),
        'lastname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),
        'firstname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),
        'email' =>                        array('type' => self::TYPE_STRING, 'validate' => 'isEmail', 'required' => true, 'size' => 128),
        'passwd' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isPasswd', 'required' => true, 'size' => 32),
        'last_passwd_gen' =>            array('type' => self::TYPE_STRING, 'copy_post' => false),
        'id_gender' =>                    array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
        'birthday' =>                    array('type' => self::TYPE_DATE, 'validate' => 'isBirthDate'),
        'newsletter' =>                array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
        'newsletter_date_add' =>        array('type' => self::TYPE_DATE,'copy_post' => false),
        'ip_registration_newsletter' =>    array('type' => self::TYPE_STRING, 'copy_post' => false),
        'optin' =>                        array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
        'website' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isUrl'),
        'company' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),
        'siret' =>                        array('type' => self::TYPE_STRING, 'validate' => 'isSiret'),
        'ape' =>                        array('type' => self::TYPE_STRING, 'validate' => 'isApe'),
        'outstanding_allow_amount' =>    array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat', 'copy_post' => false),
        'show_public_prices' =>            array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
        'id_risk' =>                    array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'copy_post' => false),
        'max_payment_days' =>            array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'copy_post' => false),
        'active' =>                    array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
        'deleted' =>                    array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
        'note' =>                        array('type' => self::TYPE_HTML, 'validate' => 'isCleanHtml', 'size' => 65000, 'copy_post' => false),
        'is_guest' =>                    array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
        'id_shop' =>                    array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false),
        'id_shop_group' =>                array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false),
        'id_default_group' =>            array('type' => self::TYPE_INT, 'copy_post' => false),
        'id_lang' =>                    array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false),
        'date_add' =>                    array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
        'date_upd' =>                    array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
    ),
);

您需要至少提供标记为'required' => true

的每个字段