首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我尝试更新数据时,在数组上调用成员函数save()

当我尝试更新数据时,在数组上调用成员函数save()
EN

Stack Overflow用户
提问于 2020-12-26 08:35:59
回答 4查看 127关注 0票数 0

嘿,所以我正在尝试更改数据并更新它们。但是当我按下update按钮时出现这个错误:“调用数组上的成员函数save()”,所以这是我的代码:

控制器:

代码语言:javascript
复制
public function update(Request $r)
{
     
    $update_id = $r->uid;

    $name = $r->uname;
    $email = $r->umail;
    $add = $r->uadd;

    $update =  App\Models\Emp_model::find($update_id);

    $update['name']=$name;
    $update['email']=$email;
    $update['address']=$add;

    $updated=$update->save();

    if ($updated) {
        return redirect('show')->with('message', 'Data added successfully!');
    }
    
}

路由:

代码语言:javascript
复制
Route::get('/show', [Employee::class, 'fetch']);
Route::post('/update_data', [Employee::class, 'update']);

操作:

代码语言:javascript
复制
<form action="{{ url('/update_data') }}" method="post">
EN

回答 4

Stack Overflow用户

发布于 2020-12-26 08:40:12

我建议您简单地使用update方法:

代码语言:javascript
复制
$el =  App\Models\Emp_model::find($update_id);

$el->update([
    'name' => $name ,
    'email' => $email ,
    'address' => $add ,
]);
票数 0
EN

Stack Overflow用户

发布于 2020-12-26 08:51:10

$r->uid似乎与模型的主键列不对应。所以你可以试试下面的

代码语言:javascript
复制
public function update(Request $r)
{
    <!-- Replace uid with whatever is the column name -->
    $employee = App\Models\Emp_model::where('uid', $r->uid)->firstOrFail();

    $employee->update([
        'name' => $r->uname,
        'email' => $r->uemail,
        'add' => $r->uadd,
    ]);

    return redirect('show')->with('message', 'Data added successfully!');    
}

您可以使用id作为路径参数来更新命名路径

代码语言:javascript
复制
Route::post('/update_data/{id}', [Employee::class, 'update'])->name('emp.update');

然后在刀片视图中进行编辑

代码语言:javascript
复制
<!-- Replace $emp with whatever is the variable name -->
<form action="{{ route('emp.update', ['id' => $emp->id]) }}" method="post">
票数 0
EN

Stack Overflow用户

发布于 2020-12-26 09:18:22

控制器:

代码语言:javascript
复制
function update(Request $r)
{
    $update = Emp_model::find($r->uid);
    $update->uname=$r->uname;
    $update->umail=$r->umail;
    $update->uadd=$r->uadd;
    
    $updated=$update->save();

    if ($updated) {
        return redirect('show')->with('message', 'Data added successfully!');
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65452846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档