0

我正在尝试在用户更新他的用户名后更新用户名列。我正在使用路由器和过滤器执行此操作,而不是使用控制器.....

HTML:

Hi, <span class="username" contenteditable="true">{{ $username }} </span>

JS/jQuery

var username = $('.username').text();
$('.username').blur(function(){
    if (username != $(this).text()) {
        var username = $('.username').text();
        console.log('Changing your name to ' + username);
        $.ajax({
            type: 'POST',
            url: 'usernameChange',
            data: { username: username }
        }).done(function(msg){
            console.log('Okay, new username is ' + msg);
        });
    }
});

它确实成功发送到路由器...

Route::post('usernameChange', function(){
    $username = Input::get('username');
    return $username;
});

但我不知道在哪里更新表格,或者我什至做得对......我试图将它附加到 usernameChange 路由器,但在尝试发送请求时出现 505 内部错误......

DB::table('users')
    ->where('id', Auth::user()->id)
    ->update(array(Auth::user()->username => $username));

^ 是这样吗?

那么我该怎么做呢?我应该在哪里呢?

4

1 回答 1

1

使用 Eloquent,您可以执行以下操作:

$user = Auth::user();
$user->username = $username;
$user->save();

我建议在保存之前添加一些验证。然而,这是基本思想。加载用户。改变需要改变的东西。然后在用户上调用 save 以更新信息。

于 2013-11-08T21:03:47.470 回答