2017-04-25 75 views
0

我正在做laravel中的项目,我想在单击按钮时将列的值从0更改为1。单击按钮时更新列Laravel

我使用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状态码,当我按一下按钮。

任何人都可以请帮忙吗?

+0

您是否检查过url变量是否有值? –

+0

Route :: post('批准/ {user_id}',AdminController @批准') - >名称('批准'); 这是我的自定义路线..如果我只返回'好';从审批功能,我没有得到任何错误,并在控制台中我可以得到正确的网址。但是当我试图更新数据时,我得到500错误。 – Mill3r

回答

0

500错误造成的,因为各种误差修改的,东西你可能会看着它:

  • 你检查你的laravel错误日志? storage/logs/laravel.log答案可能在那里!

  • 是你的模型loginapproval属性可填写,而不是集体作业?

  • 有你检查$user_id或模式是否为空,然后你想更新一个空模型:

您的代码。

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