2016-02-13 86 views
0

我使用DBIx ::類建模的下列對象:DBIx ::類查找或創建

一個Recipe許多TagsTag與其他Recipe對象共享。

在創建Recipe對象時,我想要創建一組Tag對象,並將它們與新創建的Recipe對象相關聯。 (用戶輸入一個標籤列表,我只有標籤名稱)

對於標籤,我可以迭代列表並找到一個匹配用戶輸入的名稱或手動創建一個新的對象。

我在DBIx :: Class中找不到記錄的findOrCreate類型方法。有什麼建議麼 ?

回答

1

如果你有一個關鍵的名字,你可以使用find_or_create

+0

謝謝,顯然我無法正確閱讀文檔。 –

+0

您如何知道對象是「找到」還是「創建」? $ obj = $ schema-> resultset('ObjList') - > find_or_create({... some conditions ...}); – rajeev

+0

請閱讀文檔。下面是它所說的內容:如果您需要知道是否找到了現有的行,或者創建了一個新的行,而是在DBIx :: Class :: Row中使用「find_or_new」和「in_storage」。不要忘記在DBIx :: Class :: Row中調用「insert」來將新創建的行保存到數據庫中! – bolav