(快速參考)

findOrCreateWhere

目的

使用與網域類別屬性名稱相符的名稱參數來產生查詢,以傳回第一個結果。此方法的行為就像 findWhere,但它絕不會傳回 null。如果找不到相符的執行個體,則會建立一個新的執行個體,並使用查詢參數中的值來填入,然後傳回。此方法與 findOrSaveWhere 的不同之處在於,此方法不會儲存新建立的執行個體,而 findOrSaveWhere 會儲存。

範例

假設有網域類別

class Book {

   String title
   Date releaseDate
   String author

   static constraints = {
      releaseDate nullable: true
   }
}

您可以使用下列形式進行查詢

def book = Book.findOrCreateWhere(author: "Stephen King", title: "The Stand")

說明

參數

  • queryParams - 要用於查詢的鍵/值對 Map。如果找不到相符的執行個體,則會使用此資料來初始化新的執行個體。