【Laravel】apiで一覧取得結果のjsonを返したら、ダブルクォーテーションがエスケープされた


事象

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);

理由はよくわかりません。