Php &引用;超过了60秒的最长执行时间;当我重写toArray()函数时

Php &引用;超过了60秒的最长执行时间;当我重写toArray()函数时,php,laravel,api,Php,Laravel,Api,我需要重写函数toArray(),以检查用户是否具有获取特定列的适当权限,因此我创建了此函数: toArray的公共函数($options=0) { 如果(!auth()->user()->hasPermissionTo('users.show.email')){ $this->hidden[]=“电子邮件”; } //等等。。。 返回parent::toJson($options); } 但当我在控制器中使用User::Get()获取所有用户列表时,我没有得到任何结果,但60秒后我得到: [

我需要重写函数
toArray()
,以检查用户是否具有获取特定列的适当权限,因此我创建了此函数:

toArray的公共函数($options=0)
{
如果(!auth()->user()->hasPermissionTo('users.show.email')){
$this->hidden[]=“电子邮件”;
}
//等等。。。
返回parent::toJson($options);
}
但当我在控制器中使用
User::Get()
获取所有用户列表时,我没有得到任何结果,但60秒后我得到:

[2019-04-06 23:18:33] local.ERROR: Maximum execution time of 60 seconds exceeded {"userId":1,"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalErrorException(code: 1): Maximum execution time of 60 seconds exceeded at C:\\xampp\\htdocs\\starter\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Arr.php:162)
[stacktrace]

如果我不重写
toArray()
函数,一切都会好起来。

在您调用的最后一行
parent::toJson()
方法中,该方法在内部,而这一个是您被重写的函数,因此指向无限调用循环


在重写的函数中,应该调用
parent::toArray()

是否存在递归问题?在执行过程中内存会出现峰值吗?在你回答xD之前5秒我才意识到这一点,但无论如何,谢谢你的回答。