我正在尝试更新我从Laravel 4中的数据库中提取的用户的密码。以下是我的内容:
$user = User::where('username', $username)->get();
if (!empty($user)) {
$user->password = Hash::make($password);
$user->save();
}
但是Laravel告诉我save
是一种未知的方法。我在这里做错了什么?
答案 0 :(得分:8)
get
返回一组用户。您需要使用first
来获取单个用户对象,以便您调整密码并保存记录。
if ($user = User::where('username', $username)->first())
{
$user->password = Hash::make($password);
$user->save();
}
答案 1 :(得分:0)
您确定$user
实际上有'用户'吗?
它不会'空' - 它将是BOOL false
。试试var_dump($user)
并确认返回了什么内容?
试试这个:
$user = User::where('username', $username)->get();
var_dump($user);
if ($user) {
$user->password = Hash::make($password);
$user->save();
}