我的问题涉及Laravel Eloquent ORM中的一些方法。特别是3种方法引起了我的注意:
DefinedNames
我清楚地了解这些方法的作用但是没有找到一种方法来确定在调用它们之后执行了哪些操作。
例如,在调用DefinedName
之后,如何确定模型是在数据库中找到还是创建?我可以先运行查询查询,然后创建记录,如果找不到,但效率非常低。
同样,如果在firstOrCreate
firstOrNew
updateOrCreate
的情况下如何在数据库中创建或找到对象,以及在firstOrCreate
的情况下是否更新或创建了对象。
答案 0 :(得分:0)
如果您为这些表启用了时间戳,则可以在返回的对象中检查它们的值。
答案 1 :(得分:0)
"存在"如果模型由数据库支持,则属性将返回true(如果出现" new"则为false)。
"最近得到了治疗"如果刚刚创建了记录,则property将返回true(如果已经存在则返回false)。
这可以让你消除你提到的所有案例之间的歧义。