【问题标题】:Smarter way to format sql/php code?格式化 sql/php 代码的更聪明的方法?
【发布时间】:2009-07-17 11:11:45
【问题描述】:

我有一个很大的 SQL 语句,有没有什么“更聪明”的方式来格式化这些东西??


$serverFields = 'SERVER_ID, SERVERNAME, SERVERLOCATION_ID, SERVERLOCATIONDETAIL_ID,
                             SERVEROS_ID, SERVEROSVERSION_ID, IP_BACKEND, IP_FRONTEND, IP_BACKUP,
                             SERVERREMOTETOOL_IDS, LOGIN, DESCRIPTION, TIME_INSERT, TIME_UPDATE,
                             CHANGE_USER, MANDATOR_ID, TIVOLI_UPDATABLE, TIVOLI_LAST_SCAN,
                             TIVOLI_LAST_UPDATE, WINDOMAIN_ID, PROCESSORCOUNT, OS_ID, PHYSICAL_MEMORY_KB';

$osFields = 'OSLANG_ID, OSARCH_ID, OSSUBVERSION_ID, OSMINORVERSION_ID, OSMAJORVERSION_ID, OSTYPE_ID';

$processorFields = 'PROCESSORMODEL_ID, PROCESSORMANUFACTURER_ID';

$sql = sprintf( "SELECT %s , %s , %s FROM %s s LEFT OUTER JOIN ( (OS JOIN OSSUBVERSION USING (OSSUBVERSION_ID)) JOIN OSMINORVERSION USING (OSMINORVERSION_ID) JOIN OSMAJORVERSION USING (OSMAJORVERSION_ID) )USING (OS_ID) LEFT OUTER JOIN ( PROCESSORMODEL JOIN PROCESSORMANUFACTURER USING(PROCESSORMANUFACTURER_ID) )USING (PROCESSORMODEL_ID) WHERE %s = :id AND MANDATOR_ID = :mandatorId", $serverFields, $osFields, $processorFields, $this->_tableName, $this->_identifier);

【问题讨论】:

    标签: php sql


    【解决方案1】:

    好吧,我会以不同的方式编写和缩进,但是否“更智能”取决于你:

    $sql = sprintf("
        SELECT %s, %s, %s
        FROM %s
        LEFT OUTER JOIN OS USING (OS_ID)
        JOIN OSSUBVERSION USING (OSSUBVERSION_ID)
        JOIN OSMINORVERSION USING (OSMINORVERSION_ID)
        JOIN OSMAJORVERSION USING (OSMAJORVERSION_ID)
        LEFT OUTER JOIN PROCESSORMODEL USING (PROCESSORMODEL_ID)
        JOIN PROCESSORMANUFACTURER USING (PROCESSORMANUFACTURER_ID)
        WHERE %s = :id
        AND MANDATOR_ID = :mandatorId
    ", $serverFields, $osFields, $processorFields, $this->_tableName, $this->_identifier);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      相关资源
      最近更新 更多