laravel中firstorcreate和updateorcreate的操作区分
firstorcreate
Model::firstorcreate(param1, param2)
中的,第一个参数是条件。第二个是需要操作的数据。
操作顺序是:
1、先尝试查询该条件下的记录。
2、如果记录不存在则进行存储,存储完成后,返回该记录模型。
updateorcreateModel::updateorcreate(param1, param2)
中的,第一个参数是条件。第二个是需要操作的数据。
操作顺序是:
1、先尝试查询该条件下的记录。
2、如果记录存在则进行记录的更新操作,不存在的话执行存储操作,然后返回该记录模型。
如果你想知道上面的操作执行是: 第1个操作 还是第2个操作 可以获取操作完成模型的wasRecentlyCreated属性,如果属性值是true表示执行的是第二个操作,否则就是第一次操作。
测试