Laravel:调用未定义的方法save()

时间:2015-04-06 03:09:49

标签: laravel laravel-4 eloquent laravel-5

我想更新我的所有记录,其名称就像是引用它的那个。

但是我收到错误说调用未定义的方法save()

这是我的代码

$section = Section1::where('name', 'like', 'ss123')->get();
      $section->name = Input::get('name');

请帮助:(

2 个答案:

答案 0 :(得分:3)

$section = Section1::where('name', 'like', 'ss123')->get()会返回一个集合(想象array)。

因此,您应该使用foreach遍历集合并将保存应用于集合中的每个对象,如下所示:

foreach($section as $s)
{
     $s->name = Input::get('name');
     $s->update(); 
}

然后再次,这对数据库非常友好。

因此,您案例中最合适的操作是批量更新:

Section1::where('name','like','ss1213')->update(['name'=>Input::get('name')]);

答案 1 :(得分:0)

尝试dd($section)并找到可用的方法来阻止调用未定义的方法。

我假设您使用的是$section->save();

如果你想更新, 使用$section->touch();$section->update(array('name' => Input::get'name'));