2011-05-10 36 views
1

當您使用ColdFusion ORM並且您有多個關係表時,我可以將CFC綁定到CFGrid以獲取我希望顯示的所有列?ColdFusion 9 ORM CFGird連接多個表格

示例如果我在當前應用程序中有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中。

回答

0

爲了讓我明白,您還沒有構建任何ORM實體? (CFC爲每個表)

如果你還沒有,你需要做的是建立所有的表(使用cfbuilder用RDS連接建立自己的ORM CFC文件)

一旦所有的表引用在ORM持久化CFC文件中,可以通過cfquery標記和dbtype =「HQL」來執行此操作,然後使用QueryConvertForGrid()返回數據。然後,只需通過json或直接在頁面上將想要的數據返回給cfgrid, cfgrid標籤。

+0

我不能刪除這個,我們已經放棄了ORM,因爲我們很早就需要在我們的項目中使用它,所以我會將它標記爲將它從我的列表中刪除的答案。我試圖將其刪除,因爲我無法驗證您的答案,因爲我現在沒有時間浪費,甚至無法進行測試。 – 2011-11-23 13:52:16

0

<cfgrid>不會在使用ORM或不使用ORM。

所以,只需使用<cfquery>進行加入,並在遠程函數中使用QueryConvertForGrid()返回結果。如果您不使用綁定,則只需將<cfgrid>與實際查詢進行匹配。

+0

問題是使用ORM不使用cfquery。 – 2011-05-11 16:32:02

+0

AFAIK這是不可能的 – Henry 2011-05-11 17:08:00