单击Laravel时更新列



我正在Laravel进行一个项目,我想在单击按钮时将列的值从0更改为1。

我正在使用ajax来做到这一点。

view.blade

 <td><button type="button" class="btn btn-primary" id="j-approve-user" onclick="approveLogin('{{ route('approve', $user->id) }}')">Approve</button></td>

ajax脚本:

let getToken = function() {
return $('meta[name=csrf-token]').attr('content')
 }
function approveLogin(url){
let data = { '_token': getToken() }
$.ajax({
    'url': url,
    'method': 'POST',
    'data': data,
}).done(function(response) {
    //window.location.reload()
})
}

控制器:

   public function approve($user_id)
   {
     $user = User::find($user_id);
     $user->update(['loginapproval'=>'1']);
     return "ok"; 
   }

但是,单击按钮时,我将获得500的状态代码。

任何人都可以帮忙吗?

500错误是因为您可能会查找的各种错误:

  • 您是否检查了Laravel错误日志?storage/logs/laravel.log答案可能在那里!

  • 您的型号loginapproval属性可填充,而不是质量分配?

  • 您是否检查了$user_id还是模式为null,则您正在尝试更新零模型:

您的代码。

public function approve($user_id) 
{
$user = User::find($user_id);
    if (!is_null($user)) {
        $user->update(['loginapproval'=>'1']);
         return "ok"; 
    }
}

最新更新