为什么Laravel的Response :: json如果从另一个函数调用则返回空白?

时间:2014-02-03 11:36:40

标签: php laravel

我正在使用Laravel构建API。我想将数据传递给基本控制器中的函数,并从那里通过Response :: json()提供JSON(原因是响应方法执行基准测试和日志记录等)

这有效:

<?php

public function show($id)
{
    $data = Member::find($id);

    return Response::json($data);
}

这不是:

<?php

public function show($id)
{
    $data = Member::find($id);

    $this->respond($data);
}

private function respond($data)
{
    return Response::json($data);
}

有谁能告诉我为什么Response:json()不喜欢被弹出另一个函数?

如果我echo Response::json($data)而不是return,则会输出完整的回复,包括标题。

所有输入都赞赏。感谢。

1 个答案:

答案 0 :(得分:7)

正如cecilozaur评论的那样,也许你需要:

return $this->respond($data);

这样响应实际上会返回到父函数。