大家好日子。我在Codeigniter上尝试DATAMAPPER ORM(wan wizard)。示例应用程序正常工作。但是,当我尝试制作自己的模型和控制器时,它不起作用。我在指令中做了每一步。这是一个代码:
class Blog extends DataMapper {
var $has_one = array();
var $has_many = array();
var $validation = array(
'content' => array(
// example is required, and cannot be more than 120 characters long.
'rules' => array('required', 'max_length' => 255),
'label' => 'Content'
)
);
function __construct($id = NULL)
{
parent::__construct($id);
}
}
我在db(博客中创建了一行称为内容)中创建了表。
这是一个控制器:
class Blog extends CI_Controller {
function __construct()
{
parent::__construct();
}
public function index()
{
$blog = new Blog;
$blog->content = "shaa";
$blog->save();
echo "done";
}
}
但它总是给我一个错误:Fatal error: Call to undefined method Blog::save() in C:\xampp\htdocs\wanwizarddatamapper\application\controllers\blog.php on line 29
Uuhh让我感到沮丧!你能帮助我吗?谢谢
答案 0 :(得分:1)
我相信您的模型和控制器之间存在命名冲突。尝试将模型重命名为BlogEntry
:
class BlogEntry extends DataMapper {
var $has_one = array();
var $has_many = array();
var $validation = array(
'content' => array(
// example is required, and cannot be more than 120 characters long.
'rules' => array('required', 'max_length' => 255),
'label' => 'Content'
)
);
function __construct($id = NULL)
{
parent::__construct($id);
}
}
class Blog extends CI_Controller {
function __construct()
{
parent::__construct();
}
public function index()
{
$blogentry = new BlogEntry;
$blogentry->content = "shaa";
$blogentry->save();
echo "done";
}
}