事象
Eloquentを使い検索結果のリストをjsonに変換後、return response()->json
で返却したところvalue部分のダブルクォーテーションがエスケープされました。
"result": "[{"id":2,"status_type":-10,"name":"aaaaa"…]"
本当はこんな風に返してほしいのですが
"result": "[{"id":2,"status_type":-10,"name":"aaaaa"…]"
環境
Laravel Framework 8.43.0
PHP 7.3.24-(to be removed in future macOS) (cli) (built: May 8 2021 09:40:34) ( NTS )
解決策
一覧取得時に->toJson()を使ったのが駄目?だったようです
こんな感じで書いていました。
$items = Hoge::select()->orderBy('created_at', 'desc')->get()->toJson();
下の書き方で上手く行きました。
$items = Hoge::select()->orderBy('created_at', 'desc')->get(); json_encode($items);
理由はよくわかりません。