【问题标题】:DBIx::Class Find or Create objectsDBIx::Class 查找或创建对象
【发布时间】:2016-11-19 04:24:21
【问题描述】:

我正在使用 DBIx::Class 对以下内容进行建模:

一个Recipe 和许多TagsTag 与其他 Recipe 对象共享。

在创建Recipe 对象时,我想创建一组Tag 对象并将它们与新创建的Recipe 对象相关联。 (用户输入标签列表,我只有标签名称)

对于标签,我可以遍历列表并找到与用户输入的名称匹配的标签,或者手动创建一个新对象。

我在 DBIx::Class 中找不到记录在案的 findOrCreate 类型方法。有什么建议吗?

【问题讨论】:

    标签: perl dbix-class


    【解决方案1】:

    如果你有名字的关键,你可以使用find_or_create

    【讨论】:

    • 您如何知道对象是“找到”还是“创建”? $obj = $schema->resultset('ObjList')->find_or_create({...一些条件...});
    • 请阅读文档。它是这么说的:如果您需要知道是否找到了现有行或创建了新行,请改用 DBIx::Class::Row 中的“find_or_new”和“in_storage”。不要忘记在 DBIx::Class::Row 中调用“insert”将新创建的行保存到数据库中!
    猜你喜欢
    • 1970-01-01
    • 2018-02-13
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    • 2012-09-28
    • 2016-08-25
    相关资源
    最近更新 更多