2

子ページを表示するために、自分のページcfcをそれ自体に結合しようとしています。

<cfproperty
    name="children"
    fieldtype="one-to-many"
    cfc="page"
    linktable="ParentAndChild"
    fkcolumn="parent"
    inversejoinColumn="child"
    mappedby="pageId"
    ormtype="string"
    lazy="true"
    missingRowIgnored="true"
>

次のエラーが発生します。

コレクションサイズを取得できませんでした:[children#dev-home]

id列は親子で使用されておらず、人間が読める形式のIDを使用しているため、mappedbypageidです。

「dev-home」は親のページIDです。

親子テーブルには、「親」と「子」の2つの列があり、これらはページIDを保持します。

4

1 に答える 1

1

あなたの間違いについてはよくわかりません。しかし、私は自己結合にマッピングを使用しており、それは正常に機能します。これらのマッピングは、Page.cfcで定義されています。

property
    name="Parent"
    fieldtype="many-to-one"
    cfc="Page"
    fkcolumn="fkpages"
;
property
    name="Children"
    fieldtype="one-to-many"
    cfc="Page"
    fkcolumn="fkpages"
    type="array"
    inverse="true"
    orderby="norder"
;

これがデータモデルです。チェックボックスは、nullを許可することを意味します。

ここに画像の説明を入力してください

于 2012-11-23T19:27:35.690 に答える