CodeIgniter + Doctrine:控制器中的CRUD?

时间:2010-10-17 05:01:18

标签: codeigniter doctrine controller crud

我是MVC,CodeIgniter和Doctrine的新手,所以也许我的问题并不相关。请原谅我。

我一直在阅读PHPandStuff.com上的CodeIgniter + Doctrine教程。我真的很喜欢我所见过的任何学说,并希望将它用于我的项目。但是,由于所有与数据库相关的操作都应保存在模型中而不是控制器中,因此使用Doctrine的CRUD操作是否也应该在Doctrine模型中进行操作?如果是这样,那怎么样?

提前致谢

1 个答案:

答案 0 :(得分:4)

如果您不想将DQL编写到Controller中(这是一件好事),您可以将单独的函数放入模型中,该函数只使用扩展类提供的功能。

例如,如果您有一个名为User的类,并且您需要保存它,那么您就可以这么做了

class User extends BaseUser //or whatever you want
{
    public function saveNewUser($data) {
        //setting the userdata e.g. $this->username
        try {
            $this->save();
            ....
        } catch (Doctrine_Connection_Mysql_Exception $e) {
           ...
        }
    }
}

因此,您可以根据需要在模型中使用所有函数。