ColdFusion 9 ORM CFGird, соединяющий несколько столов - PullRequest
1 голос
/ 10 мая 2011

При использовании ColdFusion ORM, где у вас есть несколько таблиц со связями, можно ли привязать CFC к CFGrid, чтобы получить все столбцы, которые я хотел бы отобразить?

Пример, если у меня есть запрос с 7 объединениямиВ текущем приложении, над которым я работаю, отображаются все поля, которые я хочу отобразить.Как я могу отобразить все поля в CFGrid? Могу ли я использовать связывание, чтобы подключить ORM CFC к Grid?или мне нужно сделать что-то еще?

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.

Ответы [ 2 ]

0 голосов
/ 21 ноября 2011

Итак, насколько я понимаю, вы еще не создали ни одного объекта ORM?(CFC для каждой таблицы)

Если вы этого не сделали, все, что вам нужно сделать, это настроить все ваши таблицы (используйте cfbuilder с подключением RDS для создания ваших файлов CFM ORM)

После того, как вы получитевсе ваши таблицы, на которые есть ссылки в файлах ORM Persisted CFC, вы можете сделать это с помощью тега cfquery и dbtype = "HQL" и вернуть данные с помощью QueryConvertForGrid ()

. Затем просто верните нужные данные в свою cfgrid через jsonили прямо на странице в тег cfgrid.

0 голосов
/ 10 мая 2011

<cfgrid> не волнует, используете ли вы ORM или нет.

Так что просто делайте ваши объединения, используя <cfquery>, и возвращайте результат, используя QueryConvertForGrid() в вашей удаленной функции. Если вы не используете связывание, просто введите <cfgrid> с фактическим запросом.

...