超过最大堆栈深度 Laravel 8
Maximum stack depth exceeded in Laravel 8
我有资源 collection :
class OverviewResource extends JsonResource
{
public function toArray($request): array
{
return [
'first_name' => $this->first_name,
'last_name' => $this->last_name,
'email' => $this->email,
'phone' => $this->phone,
'friends' => OverviewResource::collection(User::getFriends()),
];
}
}
我在这行有错误
'friends' => OverviewResource::collection(User::getFriends()),
从用户模型调用此函数时
public static function getFriends(){
return User::where
//query code here
})->get();
}
我遇到了这个错误
Maximum stack depth exceeded
如果用户有 n
个好友,则:
OverviewResource::collection(User::getFriends())
将创建 n
个新资源。
这些资源中的每一个都将调用:
OverviewResource::collection(User::getFriends())
并创建 n
个新资源。
每个新资源然后再次调用它,然后再次调用新资源,...直到达到允许的最大堆栈。
您将不得不重新考虑如何实现递归以使其终止。
我有资源 collection :
class OverviewResource extends JsonResource
{
public function toArray($request): array
{
return [
'first_name' => $this->first_name,
'last_name' => $this->last_name,
'email' => $this->email,
'phone' => $this->phone,
'friends' => OverviewResource::collection(User::getFriends()),
];
}
}
我在这行有错误
'friends' => OverviewResource::collection(User::getFriends()),
从用户模型调用此函数时
public static function getFriends(){
return User::where
//query code here
})->get();
}
我遇到了这个错误
Maximum stack depth exceeded
如果用户有 n
个好友,则:
OverviewResource::collection(User::getFriends())
将创建 n
个新资源。
这些资源中的每一个都将调用:
OverviewResource::collection(User::getFriends())
并创建 n
个新资源。
每个新资源然后再次调用它,然后再次调用新资源,...直到达到允许的最大堆栈。
您将不得不重新考虑如何实现递归以使其终止。