【问题标题】:Laravel: Call to undefined method save()Laravel:调用未定义的方法 save()
【发布时间】:2015-06-10 11:15:29
【问题描述】:

我想更新我的所有记录,其中名称与我引用它的名称类似。

但是我收到一个错误提示 Call to undefined method save()

这是我的代码

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

请帮忙:(

【问题讨论】:

    标签: laravel laravel-4 eloquent laravel-5


    【解决方案1】:

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

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

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

    再一次,这对 DB 不太友好。

    因此,在您的情况下,最合适的操作将是大规模更新:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2015-01-04
        • 2023-03-07
        • 1970-01-01
        • 2017-04-24
        • 2019-04-14
        • 1970-01-01
        • 2018-10-16
        • 2013-09-13
        • 2020-04-07
        相关资源
        最近更新 更多