書いた後:
Route::get('/', function()
{
dd(User::all());
});
そして、ブラウザを更新した後、読み取り不能な配列を取得します。その配列を読み取り可能な形式で取得する方法はありますか?
dd()
は変数をダンプし、スクリプトの実行を終了します (1)、そのため_<pre>
_タグで囲むと壊れたままになります。良いol '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());
これはデバッグするのにはるかに優れています。
編集-さらに、これはビュー/テンプレートでもうまく機能するので、すべてのユーザーをテンプレートに渡すと、ブレードテンプレートにダンプできます
{{ dd($users->toArray()) }}
おそらくkintを試してください:composer require raveren/kint "dev-master"詳細: なぜデバッグデータがフォーマットされていないのですか?
まだこれを実現するための素晴らしい方法を探している人にとって、推奨される方法は_symfony/var-dumper
_のdump()
関数です。
バージョン5.2以降のドキュメントに追加されます: https://laravel.com/docs/5.2/helpers#method-dd
このコードはview.bladeで使用できます。 {{var_dump($ animales)}}
ヘルパーda()
をLaravel=に追加しました。これは実際にはdd($object->toArray())
のエイリアスとして機能します
ここに要点があります: https://Gist.github.com/TommyZG/0505eb331f240a6324b0527bc588769c
コントローラー関数を介して、Blade themplateでvar_dump
またはprint_r
関数を使用できます。
class myController{
public function showView(){
return view('myView',["myController"=>$this]);
}
public function myprint($obj){
echo "<pre>";
print_r($obj);
echo "</pre>";
}
}
そして、ブレードthemplateを使用します:
$myController->myprint($users);