Php 未定义的属性:Illumb\Database\Eloquent\Builder::$password in Laravel
我使用的是使用Laravel哈希的哈希算法 但出现此错误 未定义的属性:Illumb\Database\Eloquent\Builder::$password 这是我的功能Php 未定义的属性:Illumb\Database\Eloquent\Builder::$password in Laravel,php,laravel,Php,Laravel,我使用的是使用Laravel哈希的哈希算法 但出现此错误 未定义的属性:Illumb\Database\Eloquent\Builder::$password 这是我的功能 public function signin(LoginFormValidation $request) { $user_password = $request->password; $data = User::where('email','=',$request->email);
public function signin(LoginFormValidation $request)
{
$user_password = $request->password;
$data = User::where('email','=',$request->email);
if (Hash::check($user_password, $data->password, flase))
{
echo "success";
}
else
{
echo "still not";
}
}
更改此行:
$data = User::where('email','=',$request->email);
到
和变化:
if (Hash::check($user_password, $data->password, flase))
到
为了使代码更好,我在IF语句中添加了一个补丁和一个额外的chek。如果
$data
未获得有效结果,则需要进行此附加检查
public function signin(LoginFormValidation $request)
{
$user_password = $request->password;
$data = User::where('email','=',$request->email)->first();
if ($data && Hash::check($user_password, $data->password))
{
echo "success";
}
else
{
echo "still not";
}
}
试试这个
public function signin(Request $request) //chnaged object to Request
{
$user_password = $request->password;
$data = User::where('email',$request->email)->first(); // Added first()
if ($data && Hash::check($user_password, $data->password, false)) // typo error false
{
echo "success";
}
else
{
echo "still not";
}
}
我可以看看您的型号
用户吗?
我认为您应该从protected$hidden
属性中删除password
,然后重试。
让我知道,如果你让它@Sohel0415……它给出了新的错误`试图获取非对象的属性'密码'`你正在使用的是什么版本的laravel?这意味着没有用户在database@Sohel0415...new错误显示local。错误:类型错误:传递参数3以照亮\Hashing\BcryptHasher::check()必须是数组类型,布尔给定的
…@Sohel0415…它仍然给定未定义的属性:照明\Support\Facades\Request::$password
…如何!!!。。。。。错误已更改并给出新错误类型错误:传递给Lightning\Hashing\BcryptHasher::check()的参数3必须是array类型,布尔给定的
您可以跳过传递第三个参数,为什么需要它?我将根据您的要求修改我的答案。它不是flase
而是false
,您应该先使用first()
或get()
public function signin(LoginFormValidation $request)
{
$user_password = $request->password;
$data = User::where('email','=',$request->email)->first();
if ($data && Hash::check($user_password, $data->password))
{
echo "success";
}
else
{
echo "still not";
}
}
public function signin(Request $request) //chnaged object to Request
{
$user_password = $request->password;
$data = User::where('email',$request->email)->first(); // Added first()
if ($data && Hash::check($user_password, $data->password, false)) // typo error false
{
echo "success";
}
else
{
echo "still not";
}
}