2017-08-20 4 views
0

私は2つのドメインクラスGrailsでデータを作成して保存するには?

支出

class Expenditure { 
    Date date 
    Supplier supplier 
    String particular 
    BigDecimal amount 
} 

サプライヤーを持って

class Supplier { 
    String name 
    String address 

    static hasMany = [expenditures: Expenditure] 
} 

何が起こって、私は新しい支出を作成するとき、私は取引先のリストからサプライヤーに入るということですサプライヤクラス。サプライヤが存在しない場合は、まずサプライヤを作成してから、そのサプライヤを選択して支出を作成する必要があります。

私が望むのは、私がサプライヤに入ると、サプライヤで最初にそれを作成しなくても、サプライヤに入ると、それは検索され、見つからなければ、(費用インスタンスを保存するときに)外出先で作成されますテーブルを開き、支出に戻ってフォームを完成させます。

どうすればこの問題を解決できますか?私が欲しいもの

+0

'findOrCreate ...'ヘルパーがあります – cfrick

答えて

0

は私がサプライヤーを入力したときに、それが検索されます、 が見つからないとき、あなたが持っている

一つの選択肢は何かをすることで、外出先で作成される、ということですあなたは完全に保存可能なインスタンスを作成するのに十分な検索条件を供給している場合は、これらの1 ...

Supplier.findOrCreateByName('some name goes here') 
Supplier.findOrCreateByNameAndAddress('some name goes here', 'some address goes here') 

ようfindOrSaveBy...カウンターパートが、それらの唯一の仕事もあります。

私は役立つことを願っています。

関連する問題