我目前正在使用Symfony 2(而不是运行它的先前Codeigniter框架)来重建当前网站。我也是Doctrine的新手,在找出放置复杂的MySQL查询的最佳位置时遇到了一些麻烦。
我目前有一个服务容器,它通过可使用此查询prepare($sql)->execute()
,还有使用它提供的数据的各种函数。就目前而言,我将准则传递给服务容器,然后在其中运行查询。然后,我使用相同的服务容器来执行我要使用的数据。
对我来说,在同一个类中获取和使用数据库数据感觉不正确吗?我应该将execute()
查询放置在Doctrine创建的文件底部的entities文件夹中,还是将其放在自己文件的entities文件夹中,还是在适当的位置?
我认为,这是通过准备实体数据在Repository文件夹中为某些操作创建自定义存储库类的更好方法。您可以在此处阅读有关自定义存储库的更多信息custom-repository-classes
可以使用其他存储库抛出理论。例如:
$container->get('doctrine')->getRepository('YourBundleName:Entity')->someRepositoryMethod();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句