2017-02-09 10 views
0

JSONレスポンスを返すメソッドがクラスにあります。__toStringメソッド内でLaravel JSONレスポンスを使用する

public function response(){ 

    return \Response::json(['data'=>'somedata']); 
} 

さらにチェーンメソッドを使用できるようにするには、オブジェクトを応答として返すときはいつでも__toString()メソッドを使用します。

public function __toString(){ 

    return $this->response(); 

} 

しかし、私はこのエラーを取得:このような

Method MyClass::__toString() must return a string value 

理にかなっているが、私はそれをどのように行うことができます。私はLaravelとSymfony JsonResponseクラスを見て、これを修正する方法を見つけることができませんでした。私はgetContent()を試しましたが、これは適切なJsonレスポンスではない文字列です。

答えて

0

多くの試行と調査の結果、解決策が見つかりました。それが最善であるかどうかは知らないが、ここにある:実際には代わりに文字列を返すSymfony\Component\HttpFoundation\Response::send()メソッドの呼び出しです

public function __toString(){ 

    $this->response()->send(); 
    return ''; 
} 

関連する問題