所以我试图在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扩展名,但这些都没有解决问题。
答案 0 :(得分:2)
请在型号名称中使用_并尝试以下代码,它一定会帮助您。
private void webview_LoadCompleted(object sender, NavigationEventArgs e)
{
if (page.Source.AbsoluteUri.Contains("access_token"))
{
DataPackage dataPackage = new DataPackage();
string r3 = page.Source.AbsoluteUri;
string ntoken = r3.Substring(r3.IndexOf("access_token") + 13);
string token = ntoken.Substring(0, ntoken.IndexOf("&"));
web.Visibility = Visibility.Collapsed;
}
}
然后使用: -
public function __construct(){
parent::__construct();
$this->load->database();
$this->load->model('UserAccountIdx_Model');
}
答案 1 :(得分:0)
您加载模型UserAccountIdxModel
并使用UserAccountIdx
这两个名字应该相同
$this->load->model('UserAccountIdxModel');
$acc = $this->UserAccountIdx->getUserAccount($email);
如下所示
$this->load->model('UserAccountIdxModel');
$acc = $this->UserAccountIdxModel->getUserAccount($email);
答案 2 :(得分:0)
错误原因是您的模型文件名无效。使您的代码如下
将此文件重命名为UserAccountIdx_model.php
main/Models/UserAccountIdx_model.php
UserAccountIdx_model.php
类中的应该是这样的
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);
OR
$this->load->model('UserAccountIdx_model','user'); // assign model name to `user`
$acc = $this->user->getUserAccount($email);
答案 3 :(得分:0)
public function __construct(){
parent::__construct();
$this->load->library('database');
$this->load->model('UserAccountIdxModel', 'u_model');
}
并使用它:
$acc = $this->u_model->getUserAccount($email);