更新数据库一行中的单个字段

Update a single field in a row of a database

我正在尝试将状态从 'pending' 更新为 'active'。

这是我的编辑按钮:

<td>
    @if($c->status == 'active')
        <a href="{{ Route('admin.makeNotActive', ['id' => $c->id]) }}"><i class="fa fa-check fa-2x"></i></a>
    @else
        <a href="{{ Route('admin.makeActive', ['id' => $c->id]) }}"><i class="fa fa-times fa-2x"></i></a>
    @endif
</td>

我的路线:

get('admin/classified/activate/{id}', [
    'uses' => 'AdminController@makeNotActive',
    'as' => 'admin.makeNotActive',
]);

get('admin/classified/deactivate/{id}', [
    'uses' => 'AdminController@makeActive',
    'as' => 'admin.makeActive',
]);

和我的方法:

public function makeActive($id)
{
    //dd('Trying to ACTIVATE');
    $c = Classified::findOrFail($id);
    $c->update(['status' => 'active']);
    return back();
}

public function makeNotActive($id)
{
    // dd('Trying to DEACTIVE');
    $c = Classified::findOrFail($id);
    $c->update(['status' => 'pending']);
    return back();
}

当我取消对 dd 的注释时,它正确地命中了它们,但没有更新。我是 Laravel 的新手,所以可能做了一些显而易见的事情,但我看不到!

提前致谢。

public function makeActive($id)
{
   //dd('Trying to ACTIVATE');
   $c = Classified::findOrFail($id);
   $c->status ='active';
   $c->save();
   return back();
}

这应该适合你。