gpt4 book ai didi

php - 我的模型未加载到 codeigniter 的 Controller 中

转载 作者:行者123 更新时间:2023-12-01 07:06:15 25 4
gpt4 key购买 nike

这是我的 Controller :

defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->model('User_model');
$this->load->helper(array('form','text','url','array'));
$this->load->library(array('Form_validation','email','session'));
}

public function index()
{

$this->model->insert_item();
$this->load->view('welcome_message');
}
}

这是我的模型:

defined('BASEPATH') OR exit('No direct script access allowed');
class User_model extends CI_Model {
public function insert_item()
{
echo "hi";
}
}

当我调用模型函数但它没有加载时,它显示错误 Fatal error: Call to a member function insert_item() on a non-object

最佳答案

您需要调用 $this->user_model, that's the CI pattern到安装的对象:

defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->model('user_model');
$this->load->helper(array('form','text','url','array'));
$this->load->library(array('Form_validation','email','session'));
}

public function index()
{

$this->user_model->insert_item();
$this->load->view('welcome_message');
}
}

Loading a Model

您的模型通常会从 Controller 方法中加载和调用。要加载模型,您将使用以下方法:

$this->load->model('model_name');

如果您的模型位于子目录中,请包含模型目录中的相对路径。例如,如果您有一个位于 application/models/blog/Queries.php 的模型,您将使用以下方式加载它:

$this->load->model('blog/queries');

加载后,您将使用与您的类同名的对象来访问模型方法:

$this->load->model('model_name');

$this->model_name->method();

如果您希望为模型分配不同的对象名称,您可以通过加载方法的第二个参数指定它:

$this->load->model('model_name', 'foobar');

$this->foobar->method();

提示与问题无关:避免在构造时调用所有基本帮助程序,将其置于自动加载状态。

关于php - 我的模型未加载到 codeigniter 的 Controller 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44097294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com