为了账号安全,请及时绑定邮箱和手机立即绑定

laravel 中是否有有效的方法从数据库中选择记录并设置它们 user_id?

laravel 中是否有有效的方法从数据库中选择记录并设置它们 user_id?

PHP
HUH函数 2021-06-02 08:04:54
我必须制作使用数据库 100k+ 记录的 laravel 应用程序。我有列的表:numer, date, segment, user_id。我正在选择我需要的记录:$datetime = new \DateTime();$datetime->modify('+6 months');$seg = "biz";$select = DB::table('clients')            ->where('user_id', $id)            ->where('date','<',$datetime)            ->where('segment',$seg)            ->get();我得到了一些记录,现在有没有user_id从 select 中设置100 条记录?主要规则是我不能在数据库中对日期进行排序。
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

您可以在选择要更新的给定行数后批量更新行:


$datetime = new \DateTime();

$datetime->modify('+6 months');


$seg = "biz";


$new_id = 743; // <-------- example of value to be updated


$updated_rows = DB::table('clients')

                  ->where('user_id', $id)

                  ->where('date','<', $datetime)

                  ->where('segment', $seg)

                  ->take(100)                       // <---- # records to be updated

                  ->update(['user_id' => $new_id]); // <---- new value(s) to update

查看与此主题相关的文档(它面向 Eloquent,但也适用于 Laravel Query Builder)。


PS:$updated_rows是已经更新的行数。


查看完整回答
反对 回复 2021-06-04
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信