更新后返回集合()?
2022-08-31 00:25:00
使用Raw,如何返回更新行的集合?
例如:
$updated = DB::table('users')->where('id', 1)->update(['votes' => 123]);
我本来以为会返回更新的集合行,但它返回了 1。dd($updated)
{{$updated->votes}} should return 123
使用Raw,如何返回更新行的集合?
例如:
$updated = DB::table('users')->where('id', 1)->update(['votes' => 123]);
我本来以为会返回更新的集合行,但它返回了 1。dd($updated)
{{$updated->votes}} should return 123
试试这个
$updated = tap(DB::table('users')->where('id', 1))
->update(['votes' => 123])
->first();
这不是它的工作方式。您不能指望此查询会返回一个对象:
$updated = DB::table('users')->where('id', 1)->update(['votes' => 123]);
如果您只想使用问题中提到的查询构建器,则需要手动获取对象:
$data = DB::table('users')->where('id', 1)->first();
使用Eloquent,您可以使用:updateOrCreate()
$data = User::where('id', 1)->updateOrCreate(['votes' => 123]);
这将返回一个对象。 将返回布尔值,因此您无法在此处使用它。update()