我正在使用CodeIgniter 2.1.2,现在就是我的情况。我在C:\wamp\www\cr8v\application\models
中有一个名为math.php的模型。我试图从C:\wamp\www\cr8v\application\controllers\site.php
在我的控制器中加载它但我收到此错误:
无法找到您指定的模型:math_model
以下是math.php
:
<?php
class Math_model extends CI_Model(){
public function add(){
return 1+1;
}
}
?>
这是site.php
的内容:
<?php
class Site extends CI_Controller{
public function index(){
$this->addstuff();
}
public function addstuff(){
$this->load->model("math_model");
echo $this->math->add();
}
}
?>
我在YouTube的教程中遵循了这一点。然而,它并没有给我我想要的输出。我已经尝试使用谷歌搜索并阅读其他相关问题,但这些信息还不够。
我刚才读过this。
现在我有以下错误:
( ! ) Parse error: syntax error, unexpected '(', expecting '{' in C:\wamp\www\cr8v\application\models\math_model.php on line 2
Call Stack
# Time Memory Function Location
1 0.0036 148768 {main}( ) ..\index.php:0
2 0.0062 185072 require_once( 'C:\wamp\www\cr8v\system\core\CodeIgniter.php' ) ..\index.php:202
3 0.0561 784312 call_user_func_array ( ) ..\CodeIgniter.php:359
4 0.0561 784360 Site->index( ) ..\CodeIgniter.php:359
5 0.0561 784376 Site->addstuff( ) ..\site.php:4
6 0.0561 784504 CI_Loader->model( ) ..\site.php:8
答案 0 :(得分:13)
所有地方的名称都必须相同:
下面:
class Math_model extends CI_Model {
// your model
}
下面:
$this->load->model("math_model");
使用时:
$this->math_model->add();
并且:在您的文件系统中。因此,将math.php
重命名为math_model.php
,它会起作用。
答案 1 :(得分:3)
该文件的名称应为math_model.php,您应该这样称呼它:
echo $this->math_model->add();
答案 2 :(得分:0)
这个问题已经得到了回答,问题是:
<?php
class Math_model extends CI_Model(){
//so on
}
?>
宣布上课后,这是一个开放式和紧密的画面。
它应该是:
<?php
class Math_model extends CI_Model{
//so on
}
?>
非常感谢那些回复的人
答案 3 :(得分:0)
嗯,应该始终注意,不应使用控制器或型号名称复制功能名称,如下所示;
<?php
class Abc extends CI_Controller{
public function abc(){} // this confused CI in loading
}
这可能对CI新手的开发者有用,
答案 4 :(得分:0)
文件名和型号名应该相同 试试这个
class Math_model extends CI_Model {
// your code
}
和文件名 应该是Math_model.php