将MySQL查询字段作为数组处理是否有意义?

时间:2016-11-30 13:56:36

标签: php mysql

我有一个php对象方法,可以加载对象" A"使用以下MySQL查询:

SELECT A.foo, A.bar...

我有另一个名为B的php对象,它使用对象A中的MySQL字段:

SELECT A.foo, A.bar...
       B.abc, B.xyz

为了防止代码重复,创建一个存储对象A的MySQL字段名称的数组(或对象)是一种好习惯,这样这个数组就可以在对象A和对象B中使用,如下所示:

对象MySQL加载:

SELECT '.implode(',', $mysql_a_fields).' '...

对象B MySQL加载:

SELECT '.implode(',', $mysql_a_fields).', 
        B.abc, B.xyz

或者是代码味道?

目标是防止在使用这些SQL字段的查询中重复某些SQL字段。例如,如果对象A的mysql日期字段我希望在我使用此日期字段的所有请求中以相同的方式进行格式化,是否有任何设计模式可以防止在所有请求中重复DATE_FORMAT(date_field)? / p>

谢谢

1 个答案:

答案 0 :(得分:1)

关于该字段名称数组。我不会这样做。如果您需要以这种方式编写所有选择,而不是编写它们。我对你的课程/项目结构了解不足以说明这是否合理。

为了帮助您解决日期格式问题(好吧,这不是问题,不是吗),我认为您有两种选择: 1.按原样从数据库中获取日期字段,并在PHP中进行转换。 (使用可从任何地方访问的帮助程序类来执行此操作。) 2.创建一个存储过程,为您转换格式并在SELECT查询中使用它。