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