【发布时间】:2019-08-28 11:28:30
【问题描述】:
我需要重写函数toArray() 以检查用户是否具有获取特定列的适当权限,所以我创建了这个函数:
public function toArray( $options = 0 )
{
if(!auth()->user()->hasPermissionTo('users.show.email')) {
$this->hidden[] = 'email';
}
// etc ...
return 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() 函数,一切都很好。
【问题讨论】:
-
你有递归问题吗?执行期间内存是否激增?