26

私が書いた後:

Route::get('/', function()
{
    dd(User::all());
});

ブラウザを更新すると、読み取り不能な配列が表示されます。その配列を読み取り可能な形式で取得する方法はありますか?

4

9 に答える 9

39

dd()変数をダンプし、スクリプト(1)の実行を終了するため、タグで囲むと<pre>壊れたままになります。古き良きものを使用してくださいvar_dump()(またはprint_r()、配列であることがわかっている場合)

Route::get('/', function()
{
    echo '<pre>';
    var_dump(User::all());
    echo '</pre>';
    //exit;  <--if you want
});

アップデート:

Laravelでモデルオブジェクトを配列に変換することで、表示されているものをフォーマットダウンできると思います:

Route::get('/', function()
{
    echo '<pre>';
    $user = User::where('person_id', '=', 1);
    var_dump($user->toArray()); // <---- or toJson()
    echo '</pre>';
    //exit;  <--if you want
});

(1) 記録として、これは dd() の実装です。

function dd()
{
    array_map(function($x) { var_dump($x); }, func_get_args()); die;
}
于 2013-12-25T09:43:37.170 に答える
27

実際には、(おそらく)見たいものの読み取り可能な配列を取得するはるかに簡単な方法は、使用する代わりに

dd($users); 

また

dd(User::all());

これを使って

dd($users->toArray());

また

 dd(User::all()->toArray());

これは、デバッグするのにはるかに優れています。

編集 - さらに、これはビュー/テンプレートでもうまく機能するため、get all users をテンプレートに渡すと、それをブレード テンプレートにダンプできます。

{{ dd($users->toArray()) }}
于 2014-01-03T14:03:58.807 に答える
3

多分kintを試してみてください: composer require raveren/kint "dev-master" 詳細:デバッグデータがフォーマットされていないのはなぜですか?

于 2014-09-19T13:06:43.693 に答える
0



dd($var)

示唆されているように、死なずに「ダンプ」などの「ダイ アンド ダンプ」または「ダンプ」のみ を使用できます 。

dump($var)

于 2020-05-22T10:52:06.197 に答える