我正在尝试在用户更新用户名后更新用户名列。我正在使用路由器和过滤器,而不是使用控制器......
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));
^那是对的吗?
那我怎么能这样做呢?我应该在哪里?
答案 0 :(得分:1)
使用Eloquent,您可以执行以下操作:
$user = Auth::user();
$user->username = $username;
$user->save();
我建议您在保存之前添加一些验证。但是,这是基本的想法。加载用户。改变需要改变的东西。然后调用save来保存用户以更新信息。