【问题标题】:ColdFusion 9 ORM CFGird connecting several tablesColdFusion 9 ORM CFGird 连接多个表
【发布时间】:2011-05-10 15:00:49
【问题描述】:

在使用 ColdFusion ORM 时,如果您有多个具有关系的表,我可以将 CFC 绑定到 CFGrid 以获取我想要显示的所有列吗?

例如,如果我在当前正在处理的应用程序上有一个包含 7 个连接的查询,以获取我想要显示的所有字段。如何显示 CFGrid 中的所有字段 我可以使用绑定将 ORM CFC 连接到网格吗?还是我需要做其他事情?

SELECT 'PRIMARY' AS TMSType,
  'Request'      AS shopTypeTitle,
  rfc_shopsheet.shopsheetid,
  locked,
  isDraft,
  shoptype,
  rfc_shopsheet.createdon,
  FacilitatorCompleted,
  Details.myshopfolderid   AS RecordId,
  Details.subject          AS ShopSubject,
  Details.solostandmodelid AS DisplayModelid,
  ShopVACM.solostandmodel  AS DisplayModel,
  Details.myshoplevelid,
  Details.divisionid,
  val_myshoplevel.name,
  divisionname,
  GROUP_CONCAT_solostandSERIES(rfc_shopsheet.shopsheetid) AS Series,
  MAX(RequestDTGs.sortdate)                               AS RSortDate,
  MAX(RequestDTGs.sortsequence)                           AS RSeq,
  rfc_shopsheet.CreatedOn                                 AS holdshopCreateDate,
  Details.AIRSNbr
FROM rfc_shopsheet
JOIN rfc_myshopfolder Details
ON rfc_shopsheet.myshopFolderId = Details.myshopFolderId
LEFT OUTER JOIN rfc_shopsigner
ON rfc_shopsheet.shopsheetid = rfc_shopsigner.shopsheetid
LEFT OUTER JOIN rfc_requestdtg RequestDTGs
ON RequestDTGs.myshopfolderid = Details.myshopfolderid
LEFT OUTER JOIN rfc_engshop
ON rfc_shopsheet.shopsheetid = rfc_engshop.shopsheetid
LEFT OUTER JOIN rfc_requestaircraft RequestAC
ON Details.myshopfolderid = RequestAC.myshopfolderid
LEFT OUTER JOIN rfc_requestfacilitator RequestFac
ON Details.myshopfolderid = RequestFac.myshopfolderid
LEFT OUTER JOIN val_solostandseries shopVAC
ON RequestAC.solostandseriesid = shopVAC.solostandseriesid
LEFT OUTER JOIN val_solostandmodel shopVACM
ON Details.solostandmodelid = shopVACM.solostandmodelid
LEFT OUTER JOIN val_myshoplevel
ON Details.myshoplevelid = val_myshoplevel.myshoplevelid
LEFT OUTER JOIN val_division
ON Details.divisionid = val_division.divisionid
WHERE shopType        = 'F'

我想找到一种方法让 ORM 加入所有这些列,以便我可以将它们放入 ORM。

【问题讨论】:

    标签: orm coldfusion coldfusion-9 cfgrid


    【解决方案1】:

    据我所知,您还没有构建任何 ORM 实体? (每张桌子的 CFC)

    如果您还没有,您所要做的就是设置所有表(使用带有 RDS 连接的 cfbuilder 来构建您的 ORM CFC 文件)

    在 ORM 持久化 CFC 文件中引用所有表后,您可以使用 cfquery 标记和 dbtype = "HQL" 执行此操作,并使用 QueryConvertForGrid() 返回数据

    然后只需通过json或直接在页面上将您想要的数据返回到cfgrid标签中即可。

    【讨论】:

    • 我无法删除它,我们已经放弃了 ORM,因为我们在项目的早期就需要它,所以我会将它标记为答案,以便将其从我的列表中删除。我试图删除它,因为我无法验证您的答案,因为我现在甚至没有时间浪费时间来测试它。
    【解决方案2】:

    <cfgrid> 根本不在乎你是否使用 ORM。

    所以只需使用<cfquery> 进行连接,并在远程函数中使用QueryConvertForGrid() 返回结果。如果您不使用绑定,则只需将实际查询提供给 <cfgrid>

    【讨论】:

    • 问题是使用 ORM 而不是使用 cfquery。
    猜你喜欢
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多