Skip to content

[Feature]在软删除下增加updateOrCreate等相关功能 #63

Description

@lijialong1313

写在最前:可能是我没搞懂怎么用,但是我好像确实没找到。

简单阐述:和Laravel表现尽量一致。

使用场景:

有些时候,在启用软删除的时候,我们会用上有则更新,被软删除则恢复,没有则创建的这个功能。经过我测试,withTrashed()直接返回的是查询构建器,而updateOrCreate是绑定在原生构建上而不是查询构建器上,因此就找不到方法了。

我认为的话,例如updateOrCreate应该是绑定在和first/firstOrFail/get这种一样,应该是作为查询构造器里的方法,用于编译sql和生成结果的。并且,使用这些方法的人自己也应该清楚意识到这是执行2次操作。

我认为,对于例如updateOrCreate,即形如:

model.newQuery().where("id","1").updateOrCreate(model1,model2);

这段代码期望的是:查询条件和Laravel一致,即包含where的条件和model1的条件,但创建也好更新也好,都用model1+model2的数据。既不包含where,也不改变软删除状态。

希望作者大大能更新一下这部分QwQ

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions