如何在opencart 3.0中加载模型?

问题描述 投票:0回答:2

未捕获错误:在/opt/lampp/htdocs/epos/catalog/controller/prerecorded/preDemo.php:43中调用null上的成员函数preDemo1()堆栈跟踪:#0 / opt / lampp / htdocs / epos / system / engine / action.php(79):ControllerPrerecordedPreDemo-> insertData()#1 /opt/lampp/htdocs/epos/catalog/controller/startup/router.php(25):Action-> execute(Object(Registry))# 2 /opt/lampp/htdocs/epos/system/engine/action.php(79):ControllerStartupRouter-> index()#3 /opt/lampp/htdocs/epos/system/engine/router.php(67):动作 - > execute(Object(Registry))#4 /opt/lampp/htdocs/epos/system/engine/router.php(56):Router-> execute(Object(Action))#5 / opt / lampp / htdocs / epos / system / framework.php(168):Router-> dispatch(Object(Action),Object(Action))#6 /opt/lampp/htdocs/epos/system/startup.php(104):require_once('/ opt / lampp / htdo ...')#7 /opt/lampp/htdocs/epos/index.php(19):start('catalog')#opt {lamp} / opt / lampp / htdocs / epos /目录/ controller / prerecorded / preDemo.php在第43行

# Controller
public function insertData(){
        // print_r($_POST);exit;

        if($this->request->post['name'] && $this->request->post['email'] && $this->request->post['contactNumber'] && $this->request->post['businessType'] && $this->request->post['businessName'] && $this->request->post['role'] ) {

$data = array(
$name = $this->request->post['name'],
$email = $this->request->post['email'],
$contactNumber = $this->request->post['contactNumber'],
$businessType = $this->request->post['businessType'],
$businessName = $this->request->post['businessName'],
$role = $this->request->post['role']);
} 

else {
$name = 0;
}
// echo "<pre>";print_r($data);
$this->load->model('prerecorded/preDemo');
$this->preDemo->preDemo1($data);



    }
# Model ##########
<?php
class ModelPrerecordedPreDemo extends Model {
    public function preDemo1($data) {

        $this->db->insert("",$data);
    }
}
opencart opencart2.x opencart2.3 opencart-3
2个回答
0
投票

您的模型似乎存在命名问题。文件名与文件内的类匹配得很多。您也没有遵循CodeIgniter的文件命名约定。

模型文件preDemo.php可能应该命名为Pre_demo.php并像这样声明

class Pre_demo extends Model {

完成后,模型应该成功加载(显然不会在您的代码中加载)。

$this->load->model('prerecorded/pre_demo');
$this->pre_demo->preDemo1($data);

0
投票

从模型正确加载功能:

$this->prerecorded_preDemo->preDemo1($data);
© www.soinside.com 2019 - 2024. All rights reserved.