CodeIgniter + Doctrine:控制器中的 CRUD?
Posted
技术标签:
【中文标题】CodeIgniter + Doctrine:控制器中的 CRUD?【英文标题】:CodeIgniter + Doctrine: CRUD in Controller? 【发布时间】:2011-04-26 12:14:57 【问题描述】:我是 MVC、CodeIgniter 和 Doctrine 的新手,所以我的问题可能与此无关。如果是这样,请原谅我。
我一直在阅读 phpandStuff.com 上的 CodeIgniter + Doctrine 教程。我真的很喜欢我所看到的 Doctrine 并希望将它用于我的项目。但是,既然所有与数据库相关的操作都应该保存在 Model 而不是 Controller 中,那么使用 Doctrine 的 CRUD 操作是否也应该放在 Doctrine Model 中呢?如果是,那怎么办?
提前致谢
【问题讨论】:
【参考方案1】:如果您不想将 DQL 写入控制器(这是一件好事),您可以将单独的函数放入您的模型中,这些函数仅适用于扩展类提供的功能。
例如,如果你有一个名为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)
...
所以你在模型中拥有你想要的所有功能。
【讨论】:
以上是关于CodeIgniter + Doctrine:控制器中的 CRUD?的主要内容,如果未能解决你的问题,请参考以下文章
在 Doctrine 2 / CodeIgniter 2 中找不到实体模型
如何在 CodeIgniter 3 中安装 Doctrine