更新具有多行的模型

问题描述 投票:0回答:1

我有一个对象模型,该模型具有多个行,例如通过此查询获取结果:

$cities = City::whereIn('id' , [1,2,3])->get();

我想做的是使用each更新具有相同值的每一行,因为each正在对每一行进行查询,因此在上面的查询中,我将有3个查询。

而不是这样做:

$cities->each->update(['name' => 'test']);

我想做这样的事情,因为我已经有了模型对象,但是它不起作用:

$cities->update(['name' => 'test']);

相反,我必须做这样的事情才能使它起作用:

City::whereIn('id' , $cities->pluck('id'))->update(['Avatar' => 'test']);

我的问题是;我为什么不能使用这个:

$cities->update(['name' => 'test']);
laravel eloquent lumen laravel-collection
1个回答
3
投票

当您使用->get()方法时,您得到的不是模型,而是模型的集合。

没有多行模型。模型只有一个“行”。

© www.soinside.com 2019 - 2024. All rights reserved.