私が書いた後:
Route::get('/', function()
{
dd(User::all());
});
ブラウザを更新すると、読み取り不能な配列が表示されます。その配列を読み取り可能な形式で取得する方法はありますか?
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;
}
実際には、(おそらく)見たいものの読み取り可能な配列を取得するはるかに簡単な方法は、使用する代わりに
dd($users);
また
dd(User::all());
これを使って
dd($users->toArray());
また
dd(User::all()->toArray());
これは、デバッグするのにはるかに優れています。
編集 - さらに、これはビュー/テンプレートでもうまく機能するため、get all users をテンプレートに渡すと、それをブレード テンプレートにダンプできます。
{{ dd($users->toArray()) }}
多分kintを試してみてください: composer require raveren/kint "dev-master" 詳細:デバッグデータがフォーマットされていないのはなぜですか?
dd($var)
示唆されているように、死なずに「ダンプ」などの「ダイ アンド ダンプ」または「ダンプ」のみ を使用できます 。
dump($var)