CodeIgniter Undefined 属性 加载不工作
CodeIgniter Undefined Property load not working
所以我正在尝试在 CodeIgniter 中加载模型,以便进行函数调用。我的代码如下所示:
error_reporting(E_ALL);
ini_set('display_errors', 1);
define('DEFAULT_PAGE', true);
$this->pageTitle('Account Login');
$email = $this->request->getVar('email');
$this->load->model('UserAccountIdxModel');
$acc = $this->UserAccountIdx->getUserAccount($email);
当我 运行 它时,我收到一条错误消息 'Undefined property: App\Controllers\Account::$load'
我不确定为什么会收到此错误,我认为加载方法普遍有效。
我正在从 main/Controllers/Account.php
调用我的代码,我正在尝试在 main/Models/UserAccountIdxModel.php
中加载模型。我试过改变模型的路径但无济于事。有什么想法吗?
为了澄清起见,我尝试使用相对路径并使用 .php 扩展名,但这些都没有解决问题。
您加载模型 UserAccountIdxModel
并使用 UserAccountIdx
两个名字应该相同
$this->load->model('UserAccountIdxModel');
$acc = $this->UserAccountIdx->getUserAccount($email);
如下
$this->load->model('UserAccountIdxModel');
$acc = $this->UserAccountIdxModel->getUserAccount($email);
请在模型名称中使用_并尝试下面的代码,它一定会对您有所帮助。
public function __construct(){
parent::__construct();
$this->load->database();
$this->load->model('UserAccountIdx_Model');
}
然后使用:-
$acc = $this->UserAccountIdx_Model->getUserAccount($email);
错误的原因是您的模型文件名无效。让你的代码如下
像这样重命名你的文件UserAccountIdx_model.php
main/Models/UserAccountIdx_model.php
里面的UserAccountIdx_model.php
class应该是这样的
class UserAccountIdx_model extends CI_Model {
public function __construct(){
parent::__construct();
$this->load->database();
}
public function getUserAccount($email){
// your code
}
}
现在通过以下方式调用控制器中的模型函数
$this->load->model('UserAccountIdx_model');
$acc = $this->UserAccountIdx_model->getUserAccount($email);
或
$this->load->model('UserAccountIdx_model','user'); // assign model name to `user`
$acc = $this->user->getUserAccount($email);
public function __construct(){
parent::__construct();
$this->load->library('database');
$this->load->model('UserAccountIdxModel', 'u_model');
}
并使用它:
$acc = $this->u_model->getUserAccount($email);
所以我正在尝试在 CodeIgniter 中加载模型,以便进行函数调用。我的代码如下所示:
error_reporting(E_ALL);
ini_set('display_errors', 1);
define('DEFAULT_PAGE', true);
$this->pageTitle('Account Login');
$email = $this->request->getVar('email');
$this->load->model('UserAccountIdxModel');
$acc = $this->UserAccountIdx->getUserAccount($email);
当我 运行 它时,我收到一条错误消息 'Undefined property: App\Controllers\Account::$load'
我不确定为什么会收到此错误,我认为加载方法普遍有效。
我正在从 main/Controllers/Account.php
调用我的代码,我正在尝试在 main/Models/UserAccountIdxModel.php
中加载模型。我试过改变模型的路径但无济于事。有什么想法吗?
为了澄清起见,我尝试使用相对路径并使用 .php 扩展名,但这些都没有解决问题。
您加载模型 UserAccountIdxModel
并使用 UserAccountIdx
两个名字应该相同
$this->load->model('UserAccountIdxModel');
$acc = $this->UserAccountIdx->getUserAccount($email);
如下
$this->load->model('UserAccountIdxModel');
$acc = $this->UserAccountIdxModel->getUserAccount($email);
请在模型名称中使用_并尝试下面的代码,它一定会对您有所帮助。
public function __construct(){
parent::__construct();
$this->load->database();
$this->load->model('UserAccountIdx_Model');
}
然后使用:-
$acc = $this->UserAccountIdx_Model->getUserAccount($email);
错误的原因是您的模型文件名无效。让你的代码如下
像这样重命名你的文件UserAccountIdx_model.php
main/Models/UserAccountIdx_model.php
里面的UserAccountIdx_model.php
class应该是这样的
class UserAccountIdx_model extends CI_Model {
public function __construct(){
parent::__construct();
$this->load->database();
}
public function getUserAccount($email){
// your code
}
}
现在通过以下方式调用控制器中的模型函数
$this->load->model('UserAccountIdx_model');
$acc = $this->UserAccountIdx_model->getUserAccount($email);
或
$this->load->model('UserAccountIdx_model','user'); // assign model name to `user`
$acc = $this->user->getUserAccount($email);
public function __construct(){
parent::__construct();
$this->load->library('database');
$this->load->model('UserAccountIdxModel', 'u_model');
}
并使用它:
$acc = $this->u_model->getUserAccount($email);