Hap*_*der 7 query-builder laravel eloquent laravel-5 laravel-query-builder
在我的一个工作脚本中,基于某些指标存储聚合计数,我没有使用Eloquent,因为查询有点复杂,并且使用查询构建器很容易编写.我目前从数据库中获取值,我需要在数据库中插入/更新它.使用Query Builder可以实现upsert操作是否可以使用Query Builder实现?或者我是否每次都需要检查此条目是否在数据库中?
我总共有100,000个条目,并希望将其作为日常工作运行.因此,如果我需要检查数据库中是否存在特定条目,我需要多次访问数据库.有替代解决方案吗?
我正在考虑创建两个模型类,一个使用Eloquent,另一个使用查询构建器.我可以在Eloquent模型中使用我的自定义查询吗?
Eloquent有一个updateOrCreate()方法,可以让你完全想要你想要的.但是Query Builder没有类似的方法.
您可以使用Query Builder构建原始查询,并使用INSERT ... ON DUPLICATE KEY UPDATE作为upsert解决方案.
现在(2020 年 10 月 6 日),Laravel(v8.10.0) 有了原生upsert支持。https://github.com/laravel/framework/pull/34698
DB::table('users')->upsert([
['id' => 1, 'email' => 'taylor@example.com'],
['id' => 2, 'email' => 'dayle@example.com'],
], 'email');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5825 次 |
| 最近记录: |