2016-07-28 7 views
1

silverstripeに再帰的なデータ関係がありますか?実装しようとしましたが、エラーは発生しませんが、modeladminではページが空白です。自身への製品のsilverstripeに再帰的なデータ関係がありますか?

例にhas_one再帰的関係:

class Product extends DataObject { 

    private static $db = array(
     'Name' => 'Varchar', 
     'ProductCode' => 'Varchar', 
     'Price' => 'Currency' 
    ); 

    private static $has_one = array(
     'Product' => 'Product' 
    ); 
} 
+0

回答を得るのがはるかに簡単になるように頼んでいる例を挙げてください。 – Barry

+0

私は上記の例を追加しました。 – Devone

答えて

2

はい、可能です。

ManyMany関係でこれを行うと問題が発生することがあります。

+2

いくつかの例題$ Has_OneとMany_Many関係を挙げてください。文書化されていないようです。 – Devone

+0

あなたの例は絶対にうまく見えますが、何が問題なのですか? –

+0

問題はdev/buildは製品クラスに到達せず、ModelAdminは空白です。何が間違っていますか?私は$ Many_Manyをより頻繁に使用しますが、再帰的に使用すると何が問題になるでしょうか? – Devone

0

私の答えは、このように行われ、このために「ノー」だろう。私はこれは私が集計フィールド用castingを追加するために持っていた意味

class Product extends DataObject { 

    private static $db = array(
     'Name' => 'Varchar', 
     'MyProductID' => 'Int', 
    ); 

} 

...デシベル配列の「INT」として「1を持っている」私が作成した、過去にこれを必要としましたところ検索フィールドの場合はscaffolding、製品を選択する場合はDropdownFieldの場合はgetCMSFieldsreplaceFieldのintフィールドを使用します。

+0

Silverstripeには再帰的なデータ関係がありますか?現実世界におけるALsoプロダクトIDはintに限定されません。 – Devone

+1

私は「いいえ」という答えを出しました。そして、あなたがhas_one Productであなたの質問に持っているコードは、 "ProductID"というIntフィールドを作成し、シルバーストライプの_ALL_ IDはORMの制御下にあり、Ints ...ですので、あなた自身のシステム別のものを選ぶことはできますが、シルバーストライプではなく、あなたが与えた例ではありません。 – Barry

+0

バリーそれは完全性のために$ has_oneの定義を与えることができれば良いです、私はあなたの解決策を見ています。 – Devone

関連する問題