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

标签 php mysql

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

SELECT A.foo, A.bar...

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

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

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

对象A 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.原样从数据库中获取日期字段,并用PHP进行转换。 (使用可从任何地方访问的辅助类来执行此操作。) 2. 创建一个存储过程来为您转换格式并在 SELECT 查询中使用它。

关于php - 将 MySQL 查询字段作为数组处理是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40890244/

相关文章:

php - 数据库时间数据检索、基于时间的查询

php - MySQL 网格 : daily sales vs region

php - MySQL Workbench 6.0 - 不正确的语法模板

php - 用于 paypal ipn 的 curl 或 fsockopen

php - SQL 连接问题 PHP

php - Yii2 细节 View : value of attribute using a function

mysql - 如何在 Rails 中执行用户输入

PHP/MySQL 链接每个单词

php - 用于数据库插入的最安全的现代过滤器?

php - Laravel 使用关系显示 View ,加入