如何显示可读数组 - Laravel

2022-08-30 16:22:20

我写完之后:

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

刷新浏览器后,我得到一个不可读的数组。有没有办法以可读格式获取该数组?


答案 1

dd()转储变量并结束脚本的执行 (1),因此用标记将其括起来会让它损坏。只需使用好的 ol'(或者如果你知道它是一个数组)<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;
}

答案 2

实际上,获得您(可能)想要查看的内容的可读数组的一种更简单的方法是使用

dd($users); 

dd(User::all());

使用这个

dd($users->toArray());

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

调试要好得多。

编辑 - 此外,这也在你的视图/模板中很好地工作,所以如果你将“获取所有用户”传递给你的模板,则可以将其转储到你的边栏选项卡模板中

{{ dd($users->toArray()) }}