Php 使用Elounce更新批量数据
如何在+1周的时间内批量更新多条Php 使用Elounce更新批量数据,php,laravel,laravel-5,eloquent,laravel-5.2,Php,Laravel,Laravel 5,Eloquent,Laravel 5.2,如何在+1周的时间内批量更新多条评论记录的发布日期?所需结果的图示: $interval=CarbonInterval::week();//间隔1周,需要符合以下查询 注释::其中('id','>',10)->更新('publish_date',…); 您可以使用DB::raw()在数据库中执行任意代码-请记住,它可能无法移植到其他DB引擎 在MySQL和其他支持日期添加功能的引擎中,以下操作应该可以完成: Comment::where('id','>',10)->更新(['publish\u
评论记录的发布日期?所需结果的图示:
$interval=CarbonInterval::week();//间隔1周,需要符合以下查询
注释::其中('id','>',10)->更新('publish_date',…);
您可以使用DB::raw()
在数据库中执行任意代码-请记住,它可能无法移植到其他DB引擎
在MySQL
和其他支持日期添加功能的引擎中,以下操作应该可以完成:
Comment::where('id','>',10)->更新(['publish\u date'=>DB::raw('date\u ADD(“publish\u date”,间隔1周)]);
您可以使用DB::raw()
在数据库中执行任意代码-请记住,它可能无法移植到其他DB引擎
在MySQL和其他支持日期添加功能的引擎中,以下操作应该可以完成:
Comment::where('id','>',10)->更新(['publish\u date'=>DB::raw('date\u ADD(“publish\u date”,间隔1周)]);
根据文档,您可以执行以下操作:
App\Models\Comment::where('id','>',10)->更新([
“发布日期”=>Carbon\Carbon::parse(DB::raw(“'publish\u date`)”)->addWeeks(1)
]);代码>
据此:
用于基本更新的Laravel文档:
加减法的碳记录:
根据文档,您可以执行以下操作:
App\Models\Comment::where('id','>',10)->更新([
“发布日期”=>Carbon\Carbon::parse(DB::raw(“'publish\u date`)”)->addWeeks(1)
]);代码>
据此:
用于基本更新的Laravel文档:
加减法的碳记录:
谢谢您的回答,但是有没有办法通过使用本机的eloquent来做到这一点?如果您想用一个查询更新多行,就没有办法了。生成器中有增量方法,但它的工作原理是向给定列添加一个整数,该整数对包含日期时间值的列不起作用。感谢您的回答,但是没有一种方法可以通过本机使用eloquent来实现这一点吗?如果您想用一个查询更新多行,则不能。生成器中有增量方法,但它的工作原理是向给定列添加一个整数,这对包含日期时间值的列不起作用谢谢您的回答。这种方法的问题是,您没有在现有日期上添加+1周,而只是用从现在开始的+1周覆盖它。对不起,我没有注意到这一点。我的答案已更新。这种方法效率低下,因为它检索每个记录的publish\u date
,不必要地加载数据库谢谢您的回答。这种方法的问题是,您没有在现有日期上添加+1周,而只是用从现在开始的+1周覆盖它。对不起,我没有注意到这一点。我的答案已更新。这种方法效率低下,因为它检索每个记录的publish\u date
,不必要地加载数据库