Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 何时使用DQL vs方法和循环_Php_Oop_Symfony_Doctrine_Dql - Fatal编程技术网

Php 何时使用DQL vs方法和循环

Php 何时使用DQL vs方法和循环,php,oop,symfony,doctrine,dql,Php,Oop,Symfony,Doctrine,Dql,什么时候最好编写条令查询,什么时候最好为对象编写方法?这是我的看法,但我想得到一个更有经验的意见。只要有可能,我会尽力遵守良好的实践 条令查询: 优点: 更少的查询 缺点: 无法在对象中作为方法写入(不可重用) 编写方法: 优点: 可恢复 缺点: 更多查询(大量for循环) 我有时也会想同样的事情,不过考虑到你的例子,我会给你的老师增加一个方法。这种方式没有缺点,而且可以重复使用 在其他情况下,为了帮助我决定,我通常会查看可能有多少对象,以及doctrine将执行多少sql语句来进

什么时候最好编写条令查询,什么时候最好为对象编写方法?这是我的看法,但我想得到一个更有经验的意见。只要有可能,我会尽力遵守良好的实践

条令查询: 优点:

  • 更少的查询
缺点:

  • 无法在对象中作为方法写入(不可重用)
编写方法: 优点:

  • 可恢复
缺点:

  • 更多查询(大量for循环)

我有时也会想同样的事情,不过考虑到你的例子,我会给你的老师增加一个方法。这种方式没有缺点,而且可以重复使用


在其他情况下,为了帮助我决定,我通常会查看可能有多少对象,以及doctrine将执行多少sql语句来进行查找,如果要执行的对象很多,我通常会使用DQL

你说的编写方法是什么意思?你能举个例子吗?你的意思是像求和那样写查询还是迭代对象?所以我的项目与学校有关,举个例子:我想找到学校里最新的老师。有一个教师表、一个系表(多个教师到一个系)和一个学校表(多个系到一所学校)。我应该在学校课堂上写一个方法,通过每个系的老师循环查找最新的老师,还是应该写一个使用连接的条令查询?这更清楚吗?如果是这样的话,我会在教师实体库中创建一个dql方法谢谢,这正是我想要的。