【问题标题】:Update a column when a button is clicked Laravel单击按钮时更新列 Laravel
【发布时间】:2017-04-25 18:20:54
【问题描述】:

我在 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。

有人可以帮忙吗?

【问题讨论】:

  • 你检查过url变量里面有值吗?
  • Route::post('approve/{user_id}', AdminController@approve')->name('approve');这是我的自定义路线..如果我只返回“ok”;从批准功能,我没有收到任何错误,在控制台中我可以获得正确的网址。但是当我尝试更新数据时,出现 500 错误。

标签: php jquery ajax laravel-5 crud


【解决方案1】:

500错误是由于各种错误引起的,你可以查一下:

  • 你检查过你的 laravel 错误日志吗? storage/logs/laravel.log答案或许就在那里!

  • 您的模型loginapprovalattribute 是否可填充,而不是批量分配?

  • 您是否检查过$user_id 或模式是否为空,然后您正在尝试更新空模型:

你的代码。

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

【讨论】:

    猜你喜欢
    • 2018-06-04
    • 2018-03-16
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2017-12-20
    相关资源
    最近更新 更多