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


Update a single field in a row of a database

我正在尝试将状态从"待处理"更新为"活动"。

这是我的编辑按钮:

<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();
}

这应该适合您。