firstOrCreate
方法会通过给定的 列 / 值 来匹配数据库中的数据。如果在数据库中找不到对应的模型, 则会从第一个参数的属性乃至第二个参数的属性中创建一条记录插入到数据库。
updateOrCreate
方法更新现有模型或在不存在的情况下则创建新的模型。跟 firstOrCreate
方法一样,updateOrCreate
匹配到对应模型,所以不需要调用 save()
方法:
我们可以通过 wasRecentlyCreated 属性来判断这两个方法执行的是查询/更新还是创建操作。
$user = User::firstOrCreate($userData);
if($user->wasRecentlyCreated){
// 创建操作
}else{
// 查询操作
}
$user = User::updateOrCreate($userData);
if($user->wasRecentlyCreated){
// 创建操作
}else{
// 更新操作
}
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Laravel中firstOrCreate、updateOrCreate等方法如何判断是执行了查询、更新操作还是创建操作
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Laravel中firstOrCreate、updateOrCreate等方法如何判断是执行了查询、更新操作还是创建操作