在CodeIgniter和Doctrine教程中保存错误

时间:2013-02-02 10:45:45

标签: php codeigniter doctrine

我想在Doctrine 2.3中保存数据,不幸的是我也会收到错误,如果可能的话我需要很好的教程,因为在我看来文档没用。

我的上一个主题:

Controller error in CodeIgniter and Doctrine tutorial

Eroor:

致命错误:在第19行的C:\ wamp \ www \ nauka \ application \ controllers \ hello.php中调用未定义的方法User :: save()

带保存选项的图片:

enter image description here

模型

enter image description here

ripa我把它做成你想要的但是我收到了错误:

解析错误:解析错误,在第8行的C:\ wamp \ www \ nauka \ application \ controllers \ hello.php中期待“T_FUNCTION”

<?php
    // system/application/controllers/hello.php

    $this->load->model("user");

    class Hello extends CI_Controller {

            $this->user->setTableDefinition();

        function world() {
            echo "Hello CodeIgniter!";
        }

        function user_test() {

            $u = new User;
            $u->username = 'johndoe';
            $u->password = 'secret';
            $u->first_name = 'John';
            $u->last_name = 'Doe';
            $u->save();

            $u2 = new User;
            $u2->username = 'phprocks';
            $u2->password = 'mypass';
            $u2->first_name = 'Codeigniter';
            $u2->last_name = 'Doctrine';
            $u2->save();

            echo "added 2 users";
                    }

}

?>

3 个答案:

答案 0 :(得分:2)

在codeigniter中

所有模型都将加载到控制器中。 require_once不起作用。首先在$this->load->model("your model name")之类的costructor中加载模型。然后从像$this->model_name->function_name()

这样的控制器中调用模型的函数

答案 1 :(得分:2)

你可以像这样保存:

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

$this->user->save_User('username','password','first_name','last_name');

模型文件:

class user extends CI_Model {


    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }

     function save_User($username,$password,$fName,$lName)  {

          //Save to database
     }
}

答案 2 :(得分:2)

 <?php



class Hello extends CI_Controller {

        $this->user->setTableDefinition();

    function world() {
        echo "Hello CodeIgniter!";
    }

    function user_test() {

        $this->load->model("user");
        $u["username"] = 'johndoe';
        $u["password"] = 'secret';
        $u["first_name"] = 'John';
        $u["last_name"] = 'Doe';
        $this->user->save($u);



        echo "added 1 users";
                }

    }

?>

可以从http://ellislab.com/codeigniter/user-guide/general/models.html获得帮助。请参阅此链接的“目录”。你会得到与codeigniter相关的一切。