最近开始在Laravel 5.4工作。我试图捕获一个错误,并在以下代码中从控制器返回一个json响应,但似乎通常会抛出错误
$input_line='EX-L Sedan 4-Door';
if(preg_match($piped_regex,$input_line,$output_array)){
var_export($output_array);
}
// output: array(0=>'EX-L')
我也试过
try {
$credentials = $request->only('Username', 'Password');
$driverdata = Driver::where('username', $credentials['Username'])
->where('password', Hasher::hash($credentials['Password']))
->where('deleted', 0)
->where('blocked', 0)
->where('status', 1)
->first();
// if(!count($driverdata)){
// return response()->json("Login Failed",401);
// }
return response()->json($driverdata->toArray());
} catch (Exception $e) {
return response()->json($e->getMessage(), 500);
}
在上面 也用作
use Exception;
以下是我得到的错误
LoginController.php第26行中的FatalErrorException: 在null
上调用成员函数toArray()
有什么建议吗?但是同样的事情曾经在Laravel 5.2中起作用
答案 0 :(得分:-2)
解决问题调用成员函数toArray()on null 更改:
// if(!count($driverdata)){
// return response()->json("Login Failed",401);
// }
到
if(!count($driverdata)){
//return response()->json("Login Failed",401);
throw new Exception('Login Failed');
}
这也修复了当前的 FatalErrorException
其他谷歌: laravel 5.4 fatalerrorexception php 5.6