这是这里的代码:
protected function credentials(Request $request)
{
$admin=admin::where('email',$request->email)->first();
if(count($admin))
{
if($admin->status==0){
return ['email'=>'inactive','password'=>'You are not an active person, Please contact to admin'];
}
else{
return ['email'=>$request->email,'password'=>$request->password,'status'=>1];
}
}
return $request->only($this->username(), 'password');
}
当我运行代码时,此错误变为:
“count(): Parameter must be an array or an object that implements Countable”
解决方法:
请注意,在这里,当您使用count()方法时,应该有可数元素,例如数组或对象.
Admin::where('email',$request->email)->first();
但是first()方法只给您单个元素,而不是集合或数组. get()方法返回可计数的包含找到的元素的集合
除了使用count之外,您还可以直接检查变量本身是否已定义或为null
if($admin){
// do something here
}
或者您可以使用is_null()方法
if(!is_null($admin)){
// do something here
}
标签:php,laravel
来源: https://codeday.me/bug/20191011/1894585.html