Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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 数据未从控制器传递到模型Opencart_Php_Opencart - Fatal编程技术网

Php 数据未从控制器传递到模型Opencart

Php 数据未从控制器传递到模型Opencart,php,opencart,Php,Opencart,我在opencart(1.5.3)中将数据从控制器传递到模型时遇到问题。我已经修改了“添加产品”表单,添加了一个文件输入字段,但是,我无法理解我所体验到的结果,因此我非常感谢您的任何输入或关于解决方案的建议 当我发布表单时,数据被发送到控制器,但控制器不会将其传递给模型,这会停止执行最终的数据库查询 我不确定这是否是这个问题的一部分,但在firebug中,post数据在源列表中定义,但字段名没有在部件列表中定义 下面是一个代码示例。值得一提的是,我正在使用VQmod动态添加更改 视图: 型号:

我在opencart(1.5.3)中将数据从控制器传递到模型时遇到问题。我已经修改了“添加产品”表单,添加了一个文件输入字段,但是,我无法理解我所体验到的结果,因此我非常感谢您的任何输入或关于解决方案的建议

当我发布表单时,数据被发送到控制器,但控制器不会将其传递给模型,这会停止执行最终的数据库查询

我不确定这是否是这个问题的一部分,但在firebug中,post数据在源列表中定义,但字段名没有在部件列表中定义

下面是一个代码示例。值得一提的是,我正在使用VQmod动态添加更改

视图:

型号:

            if ( isset($this->data['product_pins']) ) {

                foreach (explode(";\n", $this->data['product_pins']) as $pin) {

                $this->db->query("INSERT INTO " . DB_PREFIX . "product_pins SET pin_product_id = '" . (int)$product_id . "', pin_pin_number = '" . $this->db->escape($pin) . "'");
              }

            } else { 

// added for debugging

exit("product_pins not set"); }

表单提交->数据验证后->传递到模型
是理论上的路径。您需要做的是从
$this->request->files
获取PIN,并在验证时将其放入post数据中(至少我会这样做),或者将文件名传递给model方法并在模型中提取它,尽管这往往会变得有点棘手,但此处不清楚您在做什么,如果您正试图将数据准确地传输到视图或模型中?当数据从产品表单传递到模型时,传递到模型的是$this->request->post$此->请求->文件不起作用not@JayGilford好的,我需要将一个cvs管脚文件导入数据库(它自己的表),并将其与产品id关联。我在insert product表单中创建了mod,以便可以轻松实现这种关联(在编辑/添加产品时)。在我看来,表单数据通过控制器进入$this->data数组,得到验证,然后传递给模型。这不对吗?
    if (isset($this->request->files['product_pins']['tmp_name'])) {

    $this->data['product_pins'] = file_get_contents($this->request->files['product_pins']['tmp_name']); 

                    } else {

    $this->data['product_pins'] = '';

   }
            if ( isset($this->data['product_pins']) ) {

                foreach (explode(";\n", $this->data['product_pins']) as $pin) {

                $this->db->query("INSERT INTO " . DB_PREFIX . "product_pins SET pin_product_id = '" . (int)$product_id . "', pin_pin_number = '" . $this->db->escape($pin) . "'");
              }

            } else { 

// added for debugging

exit("product_pins not set"); }